diff options
author | Ondrej Holy <oholy@redhat.com> | 2015-10-07 15:14:37 +0200 |
---|---|---|
committer | Ondrej Holy <oholy@redhat.com> | 2015-11-04 12:23:57 +0100 |
commit | 85074ef73be3f61167e94ce83d40269a5523ac93 (patch) | |
tree | 269374bfd8ff5763467bd38d26860ae67434039d | |
parent | 95b5617874a17f13c3419f4de87dfd88a8eb832d (diff) |
Add initial seamless mode supportseamless-mode
Seamless mode is a way to use guest applications directly on the
client system desktop side-by-side with client applications.
Add a new capability VD_AGENT_CAP_SEAMLESS_MODE. It indicats ability
to handle following seamless mode messages.
Add a message VD_AGENT_SEAMLESS_MODE. It is used to enable/disable
sending VD_AGENT_SEAMLESS_MODE_LIST messages. It is sent from client
to agent once the change is needed.
Add a message VD_AGENT_SEAMLESS_MODE_LIST. It is used to sent a list of
visible rectangle areas. It is sent periodically from agent to client
with every list change.
https://bugs.freedesktop.org/show_bug.cgi?id=39238
-rw-r--r-- | spice/vd_agent.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spice/vd_agent.h b/spice/vd_agent.h index 445b458..cdf2adf 100644 --- a/spice/vd_agent.h +++ b/spice/vd_agent.h @@ -78,6 +78,8 @@ enum { VD_AGENT_CLIENT_DISCONNECTED, VD_AGENT_MAX_CLIPBOARD, VD_AGENT_AUDIO_VOLUME_SYNC, + VD_AGENT_SEAMLESS_MODE, + VD_AGENT_SEAMLESS_MODE_LIST, VD_AGENT_END_MESSAGE, }; @@ -214,6 +216,22 @@ typedef struct SPICE_ATTR_PACKED VDAgentAudioVolumeSync { uint16_t volume[0]; } VDAgentAudioVolumeSync; +typedef struct SPICE_ATTR_PACKED VDAgentSeamlessMode { + uint8_t enabled; +} VDAgentSeamlessMode; + +typedef struct SPICE_ATTR_PACKED VDAgentSeamlessModeWindow { + int32_t x; + int32_t y; + uint32_t w; + uint32_t h; +} VDAgentSeamlessModeWindow; + +typedef struct SPICE_ATTR_PACKED VDAgentSeamlessModeList { + uint32_t num_of_windows; + VDAgentSeamlessModeWindow windows[0]; +} VDAgentSeamlessModeList; + enum { VD_AGENT_CAP_MOUSE_STATE = 0, VD_AGENT_CAP_MONITORS_CONFIG, @@ -228,6 +246,7 @@ enum { VD_AGENT_CAP_MAX_CLIPBOARD, VD_AGENT_CAP_AUDIO_VOLUME_SYNC, VD_AGENT_CAP_MONITORS_CONFIG_POSITION, + VD_AGENT_CAP_SEAMLESS_MODE, VD_AGENT_END_CAP, }; |