From c26b574b40e01789471c080af7b1c6c1c976dfc6 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 23 Jun 2010 15:34:28 +0200 Subject: qxl abi: parse QXLRop3. --- server/red_parse_qxl.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'server/red_parse_qxl.c') diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c index f53a9baf..cfb20260 100644 --- a/server/red_parse_qxl.c +++ b/server/red_parse_qxl.c @@ -85,6 +85,17 @@ static void red_get_alpha_blend_ptr_compat(RedMemSlotInfo *slots, int group_id, red->src_area = qxl->src_area; } +static void red_get_rop3_ptr(RedMemSlotInfo *slots, int group_id, + SpiceRop3 *red, QXLRop3 *qxl) +{ + red->src_bitmap = qxl->src_bitmap; + red->src_area = qxl->src_area; + red->brush = qxl->brush; + red->rop3 = qxl->rop3; + red->scale_mode = qxl->scale_mode; + red->mask = qxl->mask; +} + void red_get_drawable(RedMemSlotInfo *slots, int group_id, RedDrawable *red, SPICE_ADDRESS addr) { @@ -137,7 +148,7 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id, case QXL_DRAW_NOP: break; case QXL_DRAW_ROP3: - red->u.rop3 = qxl->u.rop3; + red_get_rop3_ptr(slots, group_id, &red->u.rop3, &qxl->u.rop3); break; case QXL_DRAW_STROKE: red->u.stroke = qxl->u.stroke; @@ -201,7 +212,7 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id, case QXL_DRAW_NOP: break; case QXL_DRAW_ROP3: - red->u.rop3 = qxl->u.rop3; + red_get_rop3_ptr(slots, group_id, &red->u.rop3, &qxl->u.rop3); break; case QXL_DRAW_STROKE: red->u.stroke = qxl->u.stroke; -- cgit