summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2010-06-23 14:55:50 +0200
committerGerd Hoffmann <kraxel@redhat.com>2010-06-29 12:30:20 +0200
commitdffb0401e79b8e9f85975330abb74134278aff86 (patch)
tree1bf88b1dd17d05a4bd5a44932dcd66533680d459 /server
parente81c6ef7c4be264cf2c7497d2c927a4b7132590e (diff)
downloadspice-dffb0401e79b8e9f85975330abb74134278aff86.tar.gz
spice-dffb0401e79b8e9f85975330abb74134278aff86.tar.xz
spice-dffb0401e79b8e9f85975330abb74134278aff86.zip
qxl abi: parse QXLTransparent.
Diffstat (limited to 'server')
-rw-r--r--server/red_parse_qxl.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c
index efe624e5..f53a9baf 100644
--- a/server/red_parse_qxl.c
+++ b/server/red_parse_qxl.c
@@ -59,6 +59,15 @@ static void red_get_blend_ptr(RedMemSlotInfo *slots, int group_id,
red->mask = qxl->mask;
}
+static void red_get_transparent_ptr(RedMemSlotInfo *slots, int group_id,
+ SpiceTransparent *red, QXLTransparent *qxl)
+{
+ red->src_bitmap = qxl->src_bitmap;
+ red->src_area = qxl->src_area;
+ red->src_color = qxl->src_color;
+ red->true_color = qxl->true_color;
+}
+
static void red_get_alpha_blend_ptr(RedMemSlotInfo *slots, int group_id,
SpiceAlphaBlnd *red, QXLAlphaBlnd *qxl)
{
@@ -137,7 +146,8 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id,
red->u.text = qxl->u.text;
break;
case QXL_DRAW_TRANSPARENT:
- red->u.transparent = qxl->u.transparent;
+ red_get_transparent_ptr(slots, group_id,
+ &red->u.transparent, &qxl->u.transparent);
break;
case QXL_DRAW_WHITENESS:
red->u.whiteness = qxl->u.whiteness;
@@ -200,7 +210,8 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id,
red->u.text = qxl->u.text;
break;
case QXL_DRAW_TRANSPARENT:
- red->u.transparent = qxl->u.transparent;
+ red_get_transparent_ptr(slots, group_id,
+ &red->u.transparent, &qxl->u.transparent);
break;
case QXL_DRAW_WHITENESS:
red->u.whiteness = qxl->u.whiteness;