aboutsummaryrefslogtreecommitdiff
path: root/vnc.h
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2010-05-21 11:54:34 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2010-05-24 15:18:24 -0500
commitd467b679f2993cb07fcc8112bfee6f6e8a40d093 (patch)
treeb53b910d10ebcebb9cdc7ba2b7ebdb8255c129de /vnc.h
parentfbe6d7a48d71e1dd05faa380c68965da4f8de1ac (diff)
vnc: rich cursor support.
Uses VNC_ENCODING_RICH_CURSOR. Adding XCURSOR support should be possible without much trouble. Shouldn't be needed though as RICH_CURSOR is a superset of XCURSOR. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'vnc.h')
-rw-r--r--vnc.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/vnc.h b/vnc.h
index 1aa71b0085..0d39897115 100644
--- a/vnc.h
+++ b/vnc.h
@@ -61,7 +61,7 @@ typedef struct VncState VncState;
typedef int VncReadEvent(VncState *vs, uint8_t *data, size_t len);
-typedef void VncWritePixels(VncState *vs, void *data, int size);
+typedef void VncWritePixels(VncState *vs, struct PixelFormat *pf, void *data, int size);
typedef void VncSendHextileTile(VncState *vs,
int x, int y, int w, int h,
@@ -101,6 +101,10 @@ struct VncDisplay
kbd_layout_t *kbd_layout;
int lock_key_sync;
+ QEMUCursor *cursor;
+ int cursor_msize;
+ uint8_t *cursor_mask;
+
struct VncSurface guest; /* guest visible surface (aka ds->surface) */
DisplaySurface *server; /* vnc server surface */
@@ -273,6 +277,7 @@ enum {
#define VNC_FEATURE_TIGHT 4
#define VNC_FEATURE_ZLIB 5
#define VNC_FEATURE_COPYRECT 6
+#define VNC_FEATURE_RICH_CURSOR 7
#define VNC_FEATURE_RESIZE_MASK (1 << VNC_FEATURE_RESIZE)
#define VNC_FEATURE_HEXTILE_MASK (1 << VNC_FEATURE_HEXTILE)
@@ -281,6 +286,7 @@ enum {
#define VNC_FEATURE_TIGHT_MASK (1 << VNC_FEATURE_TIGHT)
#define VNC_FEATURE_ZLIB_MASK (1 << VNC_FEATURE_ZLIB)
#define VNC_FEATURE_COPYRECT_MASK (1 << VNC_FEATURE_COPYRECT)
+#define VNC_FEATURE_RICH_CURSOR_MASK (1 << VNC_FEATURE_RICH_CURSOR)
/* Client -> Server message IDs */