Alexandre Julliard : winex11: Pass destination coordinates to xrender_mono_blit.

Alexandre Julliard julliard at winehq.org
Thu Sep 15 12:34:52 CDT 2011


Module: wine
Branch: master
Commit: beb71ad9d1b647c0780a809a9d129cb3dbdd5e94
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=beb71ad9d1b647c0780a809a9d129cb3dbdd5e94

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Sep 15 12:51:57 2011 +0200

winex11: Pass destination coordinates to xrender_mono_blit.

---

 dlls/winex11.drv/xrender.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index 66f8cc3..5cb2b36 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -2357,12 +2357,13 @@ static void xrender_blit( int op, Picture src_pict, Picture mask_pict, Picture d
 
 /* Helper function for (stretched) mono->color blitting using xrender */
 static void xrender_mono_blit( Picture src_pict, Picture mask_pict, Picture dst_pict,
-                               int x_src, int y_src, double xscale, double yscale, int width, int height )
+                               int x_src, int y_src, int x_dst, int y_dst,
+                               double xscale, double yscale, int width, int height )
 {
     int x_offset, y_offset;
 
     /* When doing a mono->color blit, 'src_pict' contains a 1x1 picture for tiling, the actual
-     * source data is in mask_pict.  The 'src_pict' data effectively acts as an alpha channel to the
+     * source data is in mask_pict.  The 'mask_pict' data effectively acts as an alpha channel to the
      * tile data. We need PictOpOver for correct rendering.
      * Note since the 'source data' is in the mask picture, we have to pass x_src / y_src using
      * mask_x / mask_y
@@ -2383,7 +2384,7 @@ static void xrender_mono_blit( Picture src_pict, Picture mask_pict, Picture dst_
         set_xrender_transformation(mask_pict, 1, 1, 0, 0);
     }
     pXRenderComposite(gdi_display, PictOpOver, src_pict, mask_pict, dst_pict,
-                      0, 0, x_offset, y_offset, 0, 0, width, height);
+                      0, 0, x_offset, y_offset, x_dst, y_dst, width, height );
 }
 
 /***********************************************************************
@@ -2567,7 +2568,8 @@ BOOL X11DRV_XRender_GetSrcAreaStretch(X11DRV_PDEVICE *physDevSrc, X11DRV_PDEVICE
         dst_pict = pXRenderCreatePicture(gdi_display, pixmap, dst_format->pict_format, CPSubwindowMode|CPRepeat, &pa);
         pXRenderFillRectangle(gdi_display, PictOpSrc, dst_pict, &fg, 0, 0, width, height);
 
-        xrender_mono_blit(src_pict, mask_pict, dst_pict, x_src, y_src, xscale, yscale, width, height);
+        xrender_mono_blit(src_pict, mask_pict, dst_pict, x_src, y_src, 0, 0,
+                          xscale, yscale, width, height);
 
         if(dst_pict) pXRenderFreePicture(gdi_display, dst_pict);
         wine_tsx11_unlock();




More information about the wine-cvs mailing list