summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2015-10-07 15:14:37 +0200
committerLukas Venhoda <lvenhoda@redhat.com>2016-08-09 16:20:46 +0200
commit8ad9cfc6f22f39385e70be89c85825ee032f09f6 (patch)
tree2e370e0e012fde45cf7f7e14beb90bd0aec0ab12
parent91825a909b62e41cff8ab075f5ee14d8f5229784 (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.h19
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,
};