Vincent Povirk : gdiplus: Factor out the gdi32 code of GdipFillRegion.

Alexandre Julliard julliard at winehq.org
Mon Jan 24 11:07:29 CST 2011


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

Author: Vincent Povirk <vincent at codeweavers.com>
Date:   Fri Jan 21 11:33:52 2011 -0600

gdiplus: Factor out the gdi32 code of GdipFillRegion.

---

 dlls/gdiplus/graphics.c |   47 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 30 insertions(+), 17 deletions(-)

diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index e85a8ba..a17cbef 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -3282,30 +3282,16 @@ GpStatus WINGDIPAPI GdipFillRectanglesI(GpGraphics *graphics, GpBrush *brush, GD
     return ret;
 }
 
-/*****************************************************************************
- * GdipFillRegion [GDIPLUS.@]
- */
-GpStatus WINGDIPAPI GdipFillRegion(GpGraphics* graphics, GpBrush* brush,
-        GpRegion* region)
+static GpStatus GDI32_GdipFillRegion(GpGraphics* graphics, GpBrush* brush,
+    GpRegion* region)
 {
     INT save_state;
     GpStatus status;
     HRGN hrgn;
     RECT rc;
 
-    TRACE("(%p, %p, %p)\n", graphics, brush, region);
-
-    if (!(graphics && brush && region))
-        return InvalidParameter;
-
-    if(graphics->busy)
-        return ObjectBusy;
-
     if(!graphics->hdc)
-    {
-        FIXME("graphics object has no HDC\n");
-        return Ok;
-    }
+        return NotImplemented;
 
     status = GdipGetRegionHRgn(region, graphics, &hrgn);
     if(status != Ok)
@@ -3332,6 +3318,33 @@ GpStatus WINGDIPAPI GdipFillRegion(GpGraphics* graphics, GpBrush* brush,
     return Ok;
 }
 
+/*****************************************************************************
+ * GdipFillRegion [GDIPLUS.@]
+ */
+GpStatus WINGDIPAPI GdipFillRegion(GpGraphics* graphics, GpBrush* brush,
+        GpRegion* region)
+{
+    GpStatus stat;
+
+    TRACE("(%p, %p, %p)\n", graphics, brush, region);
+
+    if (!(graphics && brush && region))
+        return InvalidParameter;
+
+    if(graphics->busy)
+        return ObjectBusy;
+
+    stat = GDI32_GdipFillRegion(graphics, brush, region);
+
+    if (stat == NotImplemented)
+    {
+        FIXME("partially implemented\n");
+        stat = Ok;
+    }
+
+    return stat;
+}
+
 GpStatus WINGDIPAPI GdipFlush(GpGraphics *graphics, GpFlushIntention intention)
 {
     TRACE("(%p,%u)\n", graphics, intention);




More information about the wine-cvs mailing list