diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-23 09:49:35 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-29 12:30:19 +0200 |
commit | 08cfd6beaff1bfd59c5883b4d07a964eb8644595 (patch) | |
tree | ad8d5dca39a5a24b09b2535190bff0cd05dbb97c /server | |
parent | ef3e20e29ff124eeb10729c0d512b1d231276394 (diff) | |
download | spice-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')
-rw-r--r-- | server/red_parse_qxl.c | 23 | ||||
-rw-r--r-- | server/red_worker.c | 2 |
2 files changed, 24 insertions, 1 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; }; } diff --git a/server/red_worker.c b/server/red_worker.c index a375a204..e253c508 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -7734,7 +7734,7 @@ static void red_lossy_send_qxl_draw_opaque(RedWorker *worker, BitmapData src_bitmap_data; BitmapData brush_bitmap_data; - rop = drawable->u.opaque.rop_decriptor; + rop = drawable->u.opaque.rop_descriptor; src_allowed_lossy = !((rop & SPICE_ROPD_OP_OR) || (rop & SPICE_ROPD_OP_AND) || (rop & SPICE_ROPD_OP_XOR)); |