[Spice-devel] [PATCH spice-protocol v2 4/4] Add support for setting cursor shape from guest

Frediano Ziglio fziglio at redhat.com
Thu Aug 10 19:51:04 UTC 2017


This allows to better support client mouse using streaming device

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 spice/stream-device.h | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/spice/stream-device.h b/spice/stream-device.h
index 4a16b12..df4f22d 100644
--- a/spice/stream-device.h
+++ b/spice/stream-device.h
@@ -85,6 +85,8 @@ typedef enum StreamDevType {
     STREAM_TYPE_START_STOP,
     /* server notify errors to guest */
     STREAM_TYPE_NOTIFY_ERROR,
+    /* guest cursor */
+    STREAM_TYPE_CURSOR_SET,
 } StreamDevType;
 
 /* Generic extension capabilities.
@@ -164,4 +166,29 @@ typedef struct StreamMsgNotifyError {
     uint8_t msg[0];
 } StreamMsgNotifyError;
 
+/* Guest cursor.
+ * This message is sent by the guest to the host.
+ *
+ * States allowed: Streaming
+ */
+typedef struct StreamMsgCursorSet {
+    /* basic cursor information */
+    uint16_t width;
+    uint16_t height;
+    uint16_t hot_spot_x;
+    uint16_t hot_spot_y;
+    /* Cursor type, as defined by SpiceCursorType.
+     * Only ALPHA, COLOR24 and COLOR32 are allowed by this protocol
+     */
+    uint8_t type;
+
+    uint16_t padding1[3];
+
+    /* cursor data.
+     * Format and size depends on cursor_header type and size
+     */
+    uint8_t data[0];
+} StreamMsgCursorSet;
+
+
 #endif /* SPICE_STREAM_DEVICE_H_ */
-- 
2.13.4



More information about the Spice-devel mailing list