summaryrefslogtreecommitdiffstats
path: root/server/red_parse_qxl.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2010-06-23 09:49:35 +0200
committerGerd Hoffmann <kraxel@redhat.com>2010-06-29 12:30:19 +0200
commit08cfd6beaff1bfd59c5883b4d07a964eb8644595 (patch)
treead8d5dca39a5a24b09b2535190bff0cd05dbb97c /server/red_parse_qxl.c
parentef3e20e29ff124eeb10729c0d512b1d231276394 (diff)
downloadspice-08cfd6beaff1bfd59c5883b4d07a964eb8644595.tar.gz
spice-08cfd6beaff1bfd59c5883b4d07a964eb8644595.tar.xz
spice-08cfd6beaff1bfd59c5883b4d07a964eb8644595.zip
qxl abi: parse QXLOpaque.
Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
Diffstat (limited to 'server/red_parse_qxl.c')
-rw-r--r--server/red_parse_qxl.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
index 7dad295b..0620fcb3 100644
--- a/server/red_parse_qxl.c
+++ b/server/red_parse_qxl.c
@@ -28,6 +28,17 @@ static void red_get_fill_ptr(RedMemSlotInfo *slots, int group_id,
red->mask = qxl->mask;
}
+static void red_get_opaque_ptr(RedMemSlotInfo *slots, int group_id,
+ SpiceOpaque *red, QXLOpaque *qxl)
+{
+ red->src_bitmap = qxl->src_bitmap;
+ red->src_area = qxl->src_area;
+ red->brush = qxl->brush;
+ red->rop_descriptor = qxl->rop_descriptor;
+ red->scale_mode = qxl->scale_mode;
+ red->mask = qxl->mask;
+}
+
static void red_get_alpha_blend_ptr(RedMemSlotInfo *slots, int group_id,
SpiceAlphaBlnd *red, QXLAlphaBlnd *qxl)
{
@@ -85,6 +96,9 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id,
case QXL_DRAW_FILL:
red_get_fill_ptr(slots, group_id, &red->u.fill, &qxl->u.fill);
break;
+ case QXL_DRAW_OPAQUE:
+ red_get_opaque_ptr(slots, group_id, &red->u.opaque, &qxl->u.opaque);
+ break;
case QXL_DRAW_INVERS:
red->u.invers = qxl->u.invers;
break;
@@ -105,6 +119,9 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id,
case QXL_DRAW_WHITENESS:
red->u.whiteness = qxl->u.whiteness;
break;
+ default:
+ red_error("unknown type");
+ break;
};
}
@@ -139,6 +156,9 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id,
case QXL_DRAW_FILL:
red_get_fill_ptr(slots, group_id, &red->u.fill, &qxl->u.fill);
break;
+ case QXL_DRAW_OPAQUE:
+ red_get_opaque_ptr(slots, group_id, &red->u.opaque, &qxl->u.opaque);
+ break;
case QXL_DRAW_INVERS:
red->u.invers = qxl->u.invers;
break;
@@ -159,6 +179,9 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id,
case QXL_DRAW_WHITENESS:
red->u.whiteness = qxl->u.whiteness;
break;
+ default:
+ red_error("unknown type");
+ break;
};
}