mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-08-07 18:34:19 +00:00
qxl abi: parse QXLFill.
Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
This commit is contained in:
parent
85155b3f44
commit
ef3e20e29f
@ -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);
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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) ||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user