Display Channel

Display Channel — remote display area

Stability Level

Stable, unless otherwise indicated

Synopsis

#include <channel-display.h>

struct              SpiceDisplayChannel;
struct              SpiceDisplayChannelClass;

Object Hierarchy

  GObject
   +----SpiceChannel
         +----SpiceDisplayChannel

Properties

  "height"                   guint                 : Read
  "monitors"                 GArray*               : Read
  "monitors-max"             guint                 : Read
  "width"                    guint                 : Read

Signals

  "display-invalidate"                             : Run First
  "display-mark"                                   : Run First
  "display-primary-create"                         : Run First
  "display-primary-destroy"                        : Run First

Description

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.

Details

struct SpiceDisplayChannel

struct SpiceDisplayChannel;

The SpiceDisplayChannel struct is opaque and should not be accessed directly.


struct SpiceDisplayChannelClass

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;

Parent class.

display_primary_create ()

Signal class handler for the "display-primary-create" signal.

display_primary_destroy ()

Signal class handler for the "display-primary-destroy" signal.

display_invalidate ()

Signal class handler for the "display-invalidate" signal.

display_mark ()

Signal class handler for the "display-mark" signal.

Property Details

The "height" property

  "height"                   guint                 : Read

The primary surface height.

Default value: 0


The "monitors" property

  "monitors"                 GArray*               : Read

Current monitors configuration.

Since 0.13


The "monitors-max" property

  "monitors-max"             guint                 : Read

The maximum number of monitors the server or guest supports. May change during client lifetime, for instance guest may reboot or dynamically adjust this.

Allowed values: [1,256]

Default value: 1

Since 0.13


The "width" property

  "width"                    guint                 : Read

The primary surface width.

Default value: 0

Signal Details

The "display-invalidate" signal

void                user_function                      (SpiceDisplayChannel *display,
                                                        gint                 x,
                                                        gint                 y,
                                                        gint                 width,
                                                        gint                 height,
                                                        gpointer             user_data)      : Run First

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.

The "display-mark" signal

void                user_function                      (SpiceDisplayChannel *display,
                                                        gint                 mark,
                                                        gpointer             user_data)      : Run First

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 :

TRUE when the display mark has been received

user_data :

user data set when the signal handler was connected.

The "display-primary-create" signal

void                user_function                      (SpiceDisplayChannel *display,
                                                        gint                 format,
                                                        gint                 width,
                                                        gint                 height,
                                                        gint                 stride,
                                                        gint                 shmid,
                                                        gpointer             imgdata,
                                                        gpointer             user_data)      : Run First

The "display-primary-create" signal provides main display buffer data.

display :

the SpiceDisplayChannel that emitted the signal

format :

SPICE_SURFACE_FMT_32_xRGB or SPICE_SURFACE_FMT_16_555;

width :

width resolution

height :

height resolution

stride :

the buffer stride ("width" padding)

shmid :

identifier of the shared memory segment associated with the imgdata, or -1 if not shm

imgdata :

pointer to surface buffer

user_data :

user data set when the signal handler was connected.

The "display-primary-destroy" signal

void                user_function                      (SpiceDisplayChannel *display,
                                                        gpointer             user_data)      : Run First

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.

See Also

SpiceChannel, and the GTK widget SpiceDisplay