diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-22 17:40:34 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-29 12:30:19 +0200 |
commit | 85155b3f441e178858a592341e32a07b82d17dbe (patch) | |
tree | 4127755f497ac524dad596514bb6ff6866ecbcef /server | |
parent | 856e2ba355a3c277f4dbbfe417f113cef35d7a87 (diff) | |
download | spice-85155b3f441e178858a592341e32a07b82d17dbe.tar.gz spice-85155b3f441e178858a592341e32a07b82d17dbe.tar.xz spice-85155b3f441e178858a592341e32a07b82d17dbe.zip |
qxl abi: parse QXLAlphaBlnd (+Compat)
Diffstat (limited to 'server')
-rw-r--r-- | server/red_parse_qxl.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c index aafd75a1..cbdbf720 100644 --- a/server/red_parse_qxl.c +++ b/server/red_parse_qxl.c @@ -20,6 +20,23 @@ #include "red_memslots.h" #include "red_parse_qxl.h" +static void red_get_alpha_blend_ptr(RedMemSlotInfo *slots, int group_id, + SpiceAlphaBlnd *red, QXLAlphaBlnd *qxl) +{ + red->alpha_flags = qxl->alpha_flags; + red->alpha = qxl->alpha; + red->src_bitmap = qxl->src_bitmap; + red->src_area = qxl->src_area; +} + +static void red_get_alpha_blend_ptr_compat(RedMemSlotInfo *slots, int group_id, + SpiceAlphaBlnd *red, QXLCompatAlphaBlnd *qxl) +{ + red->alpha = qxl->alpha; + red->src_bitmap = qxl->src_bitmap; + red->src_area = qxl->src_area; +} + void red_get_drawable(RedMemSlotInfo *slots, int group_id, RedDrawable *red, SPICE_ADDRESS addr) { @@ -45,7 +62,8 @@ void red_get_drawable(RedMemSlotInfo *slots, int group_id, red->type = qxl->type; switch (red->type) { case QXL_DRAW_ALPHA_BLEND: - red->u.alpha_blend = qxl->u.alpha_blend; + red_get_alpha_blend_ptr(slots, group_id, + &red->u.alpha_blend, &qxl->u.alpha_blend); break; case QXL_DRAW_BLACKNESS: red->u.blackness = qxl->u.blackness; @@ -98,7 +116,8 @@ void red_get_compat_drawable(RedMemSlotInfo *slots, int group_id, red->type = qxl->type; switch (red->type) { case QXL_DRAW_ALPHA_BLEND: - red->u.alpha_blend = qxl->u.alpha_blend; + red_get_alpha_blend_ptr_compat(slots, group_id, + &red->u.alpha_blend, &qxl->u.alpha_blend); break; case QXL_DRAW_BLACKNESS: red->u.blackness = qxl->u.blackness; |