summaryrefslogtreecommitdiffstats
path: root/server/red_parse_qxl.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2010-06-24 12:57:56 +0200
committerGerd Hoffmann <kraxel@redhat.com>2010-06-29 12:30:20 +0200
commite7ec85a08fab5be2488ae12fa5a99f96daaeb897 (patch)
tree41ae592048b66107874e3260648edab773c7b281 /server/red_parse_qxl.c
parente03e4f0fc9fc41ecfb9ea5bc3183ec9dc20eb426 (diff)
downloadspice-e7ec85a08fab5be2488ae12fa5a99f96daaeb897.tar.gz
spice-e7ec85a08fab5be2488ae12fa5a99f96daaeb897.tar.xz
spice-e7ec85a08fab5be2488ae12fa5a99f96daaeb897.zip
qxl abi: parse QXLCursorCmd.
Diffstat (limited to 'server/red_parse_qxl.c')
-rw-r--r--server/red_parse_qxl.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
index f45ab0b9..91d4aa0d 100644
--- a/server/red_parse_qxl.c
+++ b/server/red_parse_qxl.c
@@ -380,3 +380,33 @@ void red_put_surface_cmd(RedSurfaceCmd *red)
/* nothing yet */
}
+void red_get_cursor_cmd(RedMemSlotInfo *slots, int group_id,
+ RedCursorCmd *red, SPICE_ADDRESS addr)
+{
+ QXLCursorCmd *qxl;
+
+ qxl = (QXLCursorCmd *)get_virt(slots, addr, sizeof(*qxl), group_id);
+ red->release_info = &qxl->release_info;
+
+ red->type = qxl->type;
+ switch (red->type) {
+ case QXL_CURSOR_SET:
+ red->u.set.position = qxl->u.set.position;
+ red->u.set.visible = qxl->u.set.visible;
+ red->u.set.shape = qxl->u.set.shape;
+ break;
+ case QXL_CURSOR_MOVE:
+ red->u.position = qxl->u.position;
+ break;
+ case QXL_CURSOR_TRAIL:
+ red->u.trail.length = qxl->u.trail.length;
+ red->u.trail.frequency = qxl->u.trail.frequency;
+ break;
+ }
+}
+
+void red_put_cursor_cmd(RedCursorCmd *red)
+{
+ /* nothing yet */
+}
+