Alexandre Julliard : gdi32: Remove support for deferring brush calls to X11 , all brush types are supported now.

Alexandre Julliard julliard at winehq.org
Mon Dec 19 13:39:22 CST 2011


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Dec 19 11:35:14 2011 +0100

gdi32: Remove support for deferring brush calls to X11, all brush types are supported now.

---

 dlls/gdi32/dibdrv/dibdrv.h   |    6 ------
 dlls/gdi32/dibdrv/graphics.c |   21 ++++-----------------
 dlls/gdi32/dibdrv/objects.c  |    6 ------
 3 files changed, 4 insertions(+), 29 deletions(-)

diff --git a/dlls/gdi32/dibdrv/dibdrv.h b/dlls/gdi32/dibdrv/dibdrv.h
index 6c63c3d..1bf9114 100644
--- a/dlls/gdi32/dibdrv/dibdrv.h
+++ b/dlls/gdi32/dibdrv/dibdrv.h
@@ -112,7 +112,6 @@ typedef struct dibdrv_physdev
 } dibdrv_physdev;
 
 #define DEFER_PEN        2
-#define DEFER_BRUSH      4
 
 extern BOOL     dibdrv_AlphaBlend( PHYSDEV dst_dev, struct bitblt_coords *dst,
                                    PHYSDEV src_dev, struct bitblt_coords *src, BLENDFUNCTION blend ) DECLSPEC_HIDDEN;
@@ -253,8 +252,3 @@ static inline BOOL defer_pen(dibdrv_physdev *pdev)
 {
     return pdev->defer & DEFER_PEN;
 }
-
-static inline BOOL defer_brush(dibdrv_physdev *pdev)
-{
-    return pdev->defer & DEFER_BRUSH;
-}
diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c
index 67f1c99..69ce50b 100644
--- a/dlls/gdi32/dibdrv/graphics.c
+++ b/dlls/gdi32/dibdrv/graphics.c
@@ -467,26 +467,16 @@ static inline INT get_rop2_from_rop(INT rop)
  */
 BOOL dibdrv_PatBlt( PHYSDEV dev, struct bitblt_coords *dst, DWORD rop )
 {
-    PHYSDEV next = GET_NEXT_PHYSDEV( dev, pPatBlt );
     dibdrv_physdev *pdev = get_dibdrv_pdev(dev);
     INT rop2 = get_rop2_from_rop(rop);
-    BOOL done;
+    BOOL ret;
 
     TRACE("(%p, %d, %d, %d, %d, %06x)\n", dev, dst->x, dst->y, dst->width, dst->height, rop);
 
-    if(defer_brush(pdev))
-        return next->funcs->pPatBlt( next, dst, rop );
-
     update_brush_rop( pdev, rop2 );
-
-    done = brush_rects( pdev, 1, &dst->visrect );
-
+    ret = brush_rects( pdev, 1, &dst->visrect );
     update_brush_rop( pdev, GetROP2(dev->hdc) );
-
-    if(!done)
-        return next->funcs->pPatBlt( next, dst, rop );
-
-    return TRUE;
+    return ret;
 }
 
 /***********************************************************************
@@ -494,7 +484,6 @@ BOOL dibdrv_PatBlt( PHYSDEV dev, struct bitblt_coords *dst, DWORD rop )
  */
 BOOL dibdrv_PaintRgn( PHYSDEV dev, HRGN rgn )
 {
-    PHYSDEV next = GET_NEXT_PHYSDEV( dev, pPaintRgn );
     dibdrv_physdev *pdev = get_dibdrv_pdev(dev);
     const WINEREGION *region;
     int i;
@@ -502,8 +491,6 @@ BOOL dibdrv_PaintRgn( PHYSDEV dev, HRGN rgn )
 
     TRACE("%p, %p\n", dev, rgn);
 
-    if(defer_brush(pdev)) return next->funcs->pPaintRgn( next, rgn );
-
     region = get_wine_region( rgn );
     if(!region) return FALSE;
 
@@ -587,7 +574,7 @@ BOOL dibdrv_Rectangle( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
 
     if(rect.left == rect.right || rect.top == rect.bottom) return TRUE;
 
-    if(defer_pen(pdev) || defer_brush(pdev))
+    if(defer_pen(pdev))
         return next->funcs->pRectangle( next, left, top, right, bottom );
 
     reset_dash_origin(pdev);
diff --git a/dlls/gdi32/dibdrv/objects.c b/dlls/gdi32/dibdrv/objects.c
index 1b6fc89..d9fb868 100644
--- a/dlls/gdi32/dibdrv/objects.c
+++ b/dlls/gdi32/dibdrv/objects.c
@@ -1657,7 +1657,6 @@ HBRUSH dibdrv_SelectBrush( PHYSDEV dev, HBRUSH hbrush, HBITMAP bitmap,
         pdev->brush_pattern_bits = bits;
         pdev->brush_pattern_usage = usage;
         pdev->brush_pattern_bitmap = bitmap;
-        pdev->defer &= ~DEFER_BRUSH;
         free_pattern_brush( pdev ); /* brush is actually selected only when it's used */
 
         return next->funcs->pSelectBrush( next, hbrush, bitmap, info, bits, usage );
@@ -1670,8 +1669,6 @@ HBRUSH dibdrv_SelectBrush( PHYSDEV dev, HBRUSH hbrush, HBITMAP bitmap,
 
     pdev->brush_style = logbrush.lbStyle;
 
-    pdev->defer |= DEFER_BRUSH;
-
     free_pattern_brush( pdev );
 
     switch(logbrush.lbStyle)
@@ -1681,12 +1678,10 @@ HBRUSH dibdrv_SelectBrush( PHYSDEV dev, HBRUSH hbrush, HBITMAP bitmap,
         pdev->brush_color = get_pixel_color( pdev, pdev->brush_colorref, TRUE );
         calc_and_xor_masks(GetROP2(dev->hdc), pdev->brush_color, &pdev->brush_and, &pdev->brush_xor);
         pdev->brush_rects = solid_brush;
-        pdev->defer &= ~DEFER_BRUSH;
         break;
 
     case BS_NULL:
         pdev->brush_rects = null_brush;
-        pdev->defer &= ~DEFER_BRUSH;
         break;
 
     case BS_HATCHED:
@@ -1696,7 +1691,6 @@ HBRUSH dibdrv_SelectBrush( PHYSDEV dev, HBRUSH hbrush, HBITMAP bitmap,
         pdev->brush_color = get_pixel_color( pdev, pdev->brush_colorref, TRUE );
         calc_and_xor_masks(GetROP2(dev->hdc), pdev->brush_color, &pdev->brush_and, &pdev->brush_xor);
         pdev->brush_rects = pattern_brush;
-        pdev->defer &= ~DEFER_BRUSH;
         break;
 
     default:




More information about the wine-cvs mailing list