| Top |  |  |  |  | 
A class that handles the rendering of the remote display and inform of its updates.
The creation of the main graphic buffer is signaled with “display-primary-create”.
The update of regions is notified by “display-invalidate” signals.
gboolean spice_display_get_primary (SpiceChannel *channel,guint32 surface_id,SpiceDisplayPrimary *primary);
Retrieve primary display surface surface_id
.
struct SpiceDisplayChannel;
The SpiceDisplayChannel struct is opaque and should not be accessed directly.
struct SpiceDisplayChannelClass {
    SpiceChannelClass parent_class;
    /* signals */
    void (*display_primary_create)(SpiceChannel *channel, gint format,
                                   gint width, gint height, gint stride,
                                   gint shmid, gpointer data);
    void (*display_primary_destroy)(SpiceChannel *channel);
    void (*display_invalidate)(SpiceChannel *channel,
                               gint x, gint y, gint w, gint h);
    void (*display_mark)(SpiceChannel *channel,
                         gboolean mark);
};
Class structure for SpiceDisplayChannel.
| SpiceChannelClass  | Parent class. | |
| Signal class handler for the “display-primary-create” signal. | ||
| Signal class handler for the “display-primary-destroy” signal. | ||
| Signal class handler for the “display-invalidate” signal. | ||
| Signal class handler for the “display-mark” signal. | 
“monitors-max” property“monitors-max” guint
The maximum number of monitors the server or guest supports. May change during client lifetime, for instance guest may reboot or dynamically adjust this.
Flags: Read
Allowed values: [1,256]
Default value: 1
Since 0.13
“display-invalidate” signalvoid user_function (SpiceDisplayChannel *display, gint x, gint y, gint width, gint height, gpointer user_data)
The “display-invalidate” signal is emitted when the rectangular region x/y/w/h of the primary buffer is updated.
| display | the SpiceDisplayChannel that emitted the signal | |
| x | x position | |
| y | y position | |
| width | width | |
| height | height | |
| user_data | user data set when the signal handler was connected. | 
Flags: Run First
“display-mark” signalvoid user_function (SpiceDisplayChannel *display, gint mark, gpointer user_data)
The “display-mark” signal is emitted when
the RED_DISPLAY_MARK command is received, and the display
should be exposed.
| display | the SpiceDisplayChannel that emitted the signal | |
| mark | 
 | |
| user_data | user data set when the signal handler was connected. | 
Flags: Run First
“display-primary-create” signalvoid user_function (SpiceDisplayChannel *display, gint format, gint width, gint height, gint stride, gint shmid, gpointer imgdata, gpointer user_data)
The “display-primary-create” signal provides main display buffer data.
| display | the SpiceDisplayChannel that emitted the signal | |
| format | 
 | |
| width | width resolution | |
| height | height resolution | |
| stride | the buffer stride ("width" padding) | |
| shmid | identifier of the shared memory segment associated with
the  | |
| imgdata | pointer to surface buffer | |
| user_data | user data set when the signal handler was connected. | 
Flags: Run First
“display-primary-destroy” signalvoid user_function (SpiceDisplayChannel *display, gpointer user_data)
The “display-primary-destroy” signal is emitted when the primary surface is freed and should not be accessed anymore.
| display | the SpiceDisplayChannel that emitted the signal | |
| user_data | user data set when the signal handler was connected. | 
Flags: Run First