diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-24 14:37:08 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-29 12:30:20 +0200 |
commit | 4fb61b9aa5c092db1f8fcbd51f7967ccfda364ac (patch) | |
tree | 703003311e9314fe6f7e30ad0ac2db432fb3954d /server/red_parse_qxl.c | |
parent | e7ec85a08fab5be2488ae12fa5a99f96daaeb897 (diff) | |
download | spice-4fb61b9aa5c092db1f8fcbd51f7967ccfda364ac.tar.gz spice-4fb61b9aa5c092db1f8fcbd51f7967ccfda364ac.tar.xz spice-4fb61b9aa5c092db1f8fcbd51f7967ccfda364ac.zip |
qxl abi: parse QXLPoint & friends.
Diffstat (limited to 'server/red_parse_qxl.c')
-rw-r--r-- | server/red_parse_qxl.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c index 91d4aa0d..b5362f44 100644 --- a/server/red_parse_qxl.c +++ b/server/red_parse_qxl.c @@ -20,6 +20,18 @@ #include "red_memslots.h" #include "red_parse_qxl.h" +static void red_get_point_ptr(SpicePoint *red, QXLPoint *qxl) +{ + red->x = qxl->x; + red->y = qxl->y; +} + +static void red_get_point16_ptr(SpicePoint16 *red, QXLPoint16 *qxl) +{ + red->x = qxl->x; + red->y = qxl->y; +} + static void red_get_brush_ptr(RedMemSlotInfo *slots, int group_id, SpiceBrush *red, QXLBrush *qxl) { @@ -30,7 +42,7 @@ static void red_get_brush_ptr(RedMemSlotInfo *slots, int group_id, break; case SPICE_BRUSH_TYPE_PATTERN: red->u.pattern.pat = qxl->u.pattern.pat; - red->u.pattern.pos = qxl->u.pattern.pos; + red_get_point_ptr(&red->u.pattern.pos, &qxl->u.pattern.pos); break; } } @@ -39,7 +51,7 @@ static void red_get_qmask_ptr(RedMemSlotInfo *slots, int group_id, SpiceQMask *red, QXLQMask *qxl) { red->flags = qxl->flags; - red->pos = qxl->pos; + red_get_point_ptr(&red->pos, &qxl->pos); red->bitmap = qxl->bitmap; } @@ -209,7 +221,7 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id, red_get_copy_ptr(slots, group_id, &red->u.copy, &qxl->u.copy); break; case QXL_COPY_BITS: - red->u.copy_bits = qxl->u.copy_bits; + red_get_point_ptr(&red->u.copy_bits.src_pos, &qxl->u.copy_bits.src_pos); break; case QXL_DRAW_FILL: red_get_fill_ptr(slots, group_id, &red->u.fill, &qxl->u.fill); @@ -273,7 +285,7 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id, red_get_copy_ptr(slots, group_id, &red->u.copy, &qxl->u.copy); break; case QXL_COPY_BITS: - red->u.copy_bits = qxl->u.copy_bits; + red_get_point_ptr(&red->u.copy_bits.src_pos, &qxl->u.copy_bits.src_pos); break; case QXL_DRAW_FILL: red_get_fill_ptr(slots, group_id, &red->u.fill, &qxl->u.fill); @@ -391,12 +403,12 @@ void red_get_cursor_cmd(RedMemSlotInfo *slots, int group_id, red->type = qxl->type; switch (red->type) { case QXL_CURSOR_SET: - red->u.set.position = qxl->u.set.position; + red_get_point16_ptr(&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; + red_get_point16_ptr(&red->u.position, &qxl->u.position); break; case QXL_CURSOR_TRAIL: red->u.trail.length = qxl->u.trail.length; |