From ef3e20e29ff124eeb10729c0d512b1d231276394 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 23 Jun 2010 08:53:04 +0200 Subject: qxl abi: parse QXLFill. Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/). --- common/canvas_base.c | 2 +- common/gl_canvas.c | 2 +- server/red_parse_qxl.c | 12 ++++++++++-- server/red_worker.c | 2 +- spice.proto | 2 +- spice1.proto | 2 +- 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/common/canvas_base.c b/common/canvas_base.c index 700fcb42..68ea1a67 100644 --- a/common/canvas_base.c +++ b/common/canvas_base.c @@ -2200,7 +2200,7 @@ static void canvas_draw_fill(SpiceCanvas *spice_canvas, SpiceRect *bbox, SpiceCl canvas_mask_pixman(canvas, &dest_region, &fill->mask, bbox->left, bbox->top); - rop = ropd_descriptor_to_rop(fill->rop_decriptor, + rop = ropd_descriptor_to_rop(fill->rop_descriptor, ROP_INPUT_BRUSH, ROP_INPUT_DEST); diff --git a/common/gl_canvas.c b/common/gl_canvas.c index b16f25fc..2773edab 100644 --- a/common/gl_canvas.c +++ b/common/gl_canvas.c @@ -347,7 +347,7 @@ static void gl_canvas_draw_fill(SpiceCanvas *spice_canvas, SpiceRect *bbox, Spic set_clip(canvas, bbox, clip); set_mask(canvas, &fill->mask, bbox->left, bbox->top); set_brush(canvas, &fill->brush); - set_op(canvas, fill->rop_decriptor); + set_op(canvas, fill->rop_descriptor); SET_GLC_RECT(&rect, bbox); glc_fill_rect(canvas->glc, &rect); diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c index cbdbf720..7dad295b 100644 --- a/server/red_parse_qxl.c +++ b/server/red_parse_qxl.c @@ -20,6 +20,14 @@ #include "red_memslots.h" #include "red_parse_qxl.h" +static void red_get_fill_ptr(RedMemSlotInfo *slots, int group_id, + SpiceFill *red, QXLFill *qxl) +{ + red->brush = qxl->brush; + red->rop_descriptor = qxl->rop_descriptor; + red->mask = qxl->mask; +} + static void red_get_alpha_blend_ptr(RedMemSlotInfo *slots, int group_id, SpiceAlphaBlnd *red, QXLAlphaBlnd *qxl) { @@ -75,7 +83,7 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id, red->u.copy = qxl->u.copy; break; case QXL_DRAW_FILL: - red->u.fill = qxl->u.fill; + red_get_fill_ptr(slots, group_id, &red->u.fill, &qxl->u.fill); break; case QXL_DRAW_INVERS: red->u.invers = qxl->u.invers; @@ -129,7 +137,7 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id, red->u.copy = qxl->u.copy; break; case QXL_DRAW_FILL: - red->u.fill = qxl->u.fill; + red_get_fill_ptr(slots, group_id, &red->u.fill, &qxl->u.fill); break; case QXL_DRAW_INVERS: red->u.invers = qxl->u.invers; diff --git a/server/red_worker.c b/server/red_worker.c index d3529721..a375a204 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -7645,7 +7645,7 @@ static void red_lossy_send_qxl_draw_fill(RedWorker *worker, BitmapData brush_bitmap_data; uint16_t rop; - rop = drawable->u.fill.rop_decriptor; + rop = drawable->u.fill.rop_descriptor; dest_allowed_lossy = !((rop & SPICE_ROPD_OP_OR) || (rop & SPICE_ROPD_OP_AND) || diff --git a/spice.proto b/spice.proto index 1aa27881..f2a1903c 100644 --- a/spice.proto +++ b/spice.proto @@ -651,7 +651,7 @@ channel DisplayChannel : BaseChannel { DisplayBase base; struct Fill { Brush brush @outvar(brush); - uint16 rop_decriptor; + uint16 rop_descriptor; QMask mask @outvar(mask); } data; } draw_fill = 302; diff --git a/spice1.proto b/spice1.proto index dbe57b5d..90a2c30c 100644 --- a/spice1.proto +++ b/spice1.proto @@ -600,7 +600,7 @@ channel DisplayChannel : BaseChannel { DisplayBase base; struct Fill { Brush brush @outvar(brush); - uint16 rop_decriptor; + uint16 rop_descriptor; QMask mask @outvar(mask); } data; } draw_fill = 302; -- cgit