Huw Davies : gdi32: Keep track of changes to the brush rop, so that we can perform lazy realisation of the brush.

Alexandre Julliard julliard at winehq.org
Thu May 12 13:57:50 CDT 2011


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

Author: Huw Davies <huw at codeweavers.com>
Date:   Thu May 12 10:22:28 2011 +0100

gdi32: Keep track of changes to the brush rop, so that we can perform lazy realisation of the brush.

---

 dlls/gdi32/dibdrv/objects.c |    1 +
 dlls/gdi32/gdi_private.h    |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dlls/gdi32/dibdrv/objects.c b/dlls/gdi32/dibdrv/objects.c
index a0e238e..52aab44 100644
--- a/dlls/gdi32/dibdrv/objects.c
+++ b/dlls/gdi32/dibdrv/objects.c
@@ -958,6 +958,7 @@ static BOOL solid_brush(dibdrv_physdev *pdev, int num, RECT *rects)
 
 void update_brush_rop( dibdrv_physdev *pdev, INT rop )
 {
+    pdev->brush_rop = rop;
     if(pdev->brush_style == BS_SOLID)
         calc_and_xor_masks(rop, pdev->brush_color, &pdev->brush_and, &pdev->brush_xor);
 }
diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h
index 7b4c585..9cb528c 100644
--- a/dlls/gdi32/gdi_private.h
+++ b/dlls/gdi32/gdi_private.h
@@ -122,6 +122,7 @@ typedef struct dibdrv_physdev
 
     /* brush */
     UINT brush_style;
+    INT brush_rop;   /* PatBlt, for example, can override the DC's rop2 */
     DWORD brush_color, brush_and, brush_xor;
     BOOL   (* brush_rects)(struct dibdrv_physdev *pdev, int num, RECT *rects);
 




More information about the wine-cvs mailing list