diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-23 14:46:23 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-29 12:30:20 +0200 |
commit | e81c6ef7c4be264cf2c7497d2c927a4b7132590e (patch) | |
tree | 7e0ea020a81857d7e7666832b8db4696a0975f18 /server/red_parse_qxl.c | |
parent | 63e07be145ae32bacef6f4229619a4d82a9b29cb (diff) | |
download | spice-e81c6ef7c4be264cf2c7497d2c927a4b7132590e.tar.gz spice-e81c6ef7c4be264cf2c7497d2c927a4b7132590e.tar.xz spice-e81c6ef7c4be264cf2c7497d2c927a4b7132590e.zip |
qxl abi: parse QXLCopy + QXLBlend.
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.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c index 8590ec74..efe624e5 100644 --- a/server/red_parse_qxl.c +++ b/server/red_parse_qxl.c @@ -39,6 +39,26 @@ static void red_get_opaque_ptr(RedMemSlotInfo *slots, int group_id, red->mask = qxl->mask; } +static void red_get_copy_ptr(RedMemSlotInfo *slots, int group_id, + SpiceCopy *red, QXLCopy *qxl) +{ + red->src_bitmap = qxl->src_bitmap; + red->src_area = qxl->src_area; + red->rop_descriptor = qxl->rop_descriptor; + red->scale_mode = qxl->scale_mode; + red->mask = qxl->mask; +} + +static void red_get_blend_ptr(RedMemSlotInfo *slots, int group_id, + SpiceBlend *red, QXLBlend *qxl) +{ + red->src_bitmap = qxl->src_bitmap; + red->src_area = qxl->src_area; + 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) { @@ -88,10 +108,10 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id, red->u.blackness = qxl->u.blackness; break; case QXL_DRAW_BLEND: - red->u.blend = qxl->u.blend; + red_get_blend_ptr(slots, group_id, &red->u.blend, &qxl->u.blend); break; case QXL_DRAW_COPY: - red->u.copy = qxl->u.copy; + 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; @@ -151,10 +171,10 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id, red->u.blackness = qxl->u.blackness; break; case QXL_DRAW_BLEND: - red->u.blend = qxl->u.blend; + red_get_blend_ptr(slots, group_id, &red->u.blend, &qxl->u.blend); break; case QXL_DRAW_COPY: - red->u.copy = qxl->u.copy; + 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; |