Roderick Colenbrander : winex11: When a mask picture is active, the source offsets should be relative to mask_pict instead of src_pict.
Alexandre Julliard
julliard at winehq.org
Mon Feb 22 08:46:50 CST 2010
Module: wine
Branch: master
Commit: c6a290fa9456cae575622a79d0f18b4f3de8fb04
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c6a290fa9456cae575622a79d0f18b4f3de8fb04
Author: Roderick Colenbrander <thunderbird2k at gmail.com>
Date: Mon Feb 22 00:14:31 2010 +0100
winex11: When a mask picture is active, the source offsets should be relative to mask_pict instead of src_pict.
---
dlls/winex11.drv/xrender.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index d3600b7..5bbc886 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -1871,11 +1871,16 @@ static void xrender_blit(Picture src_pict, Picture mask_pict, Picture dst_pict,
else
{
if(mask_pict)
+ {
set_xrender_transformation(mask_pict, 1, 1, 0, 0);
+ /* Note since the 'source data' is in the mask picture, we have to pass x_src / y_src using mask_x / mask_y */
+ pXRenderComposite(gdi_display, op, src_pict, mask_pict, dst_pict, 0, 0, x_src, y_src, 0, 0, width, height);
+ }
else
+ {
set_xrender_transformation(src_pict, 1, 1, 0, 0);
-
- pXRenderComposite(gdi_display, op, src_pict, mask_pict, dst_pict, x_src, y_src, 0, 0, 0, 0, width, height);
+ pXRenderComposite(gdi_display, op, src_pict, mask_pict, dst_pict, x_src, y_src, 0, 0, 0, 0, width, height);
+ }
}
}
More information about the wine-cvs
mailing list