[1/10] gdiplus: added GdipSetPenBrushFill

Evan Stade estade at gmail.com
Mon Jul 23 22:23:52 CDT 2007


Hi,

 dlls/gdiplus/gdiplus.spec |    2 +-
 dlls/gdiplus/pen.c        |   19 +++++++++++++++++++
 include/gdiplusflat.h     |    1 +
 3 files changed, 21 insertions(+), 1 deletions(-)

-- 
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 66f4de2..4fa3d89 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -541,7 +541,7 @@
 @ stub GdipSetPathGradientTransform
 @ stub GdipSetPathGradientWrapMode
 @ stub GdipSetPathMarker
-@ stub GdipSetPenBrushFill
+@ stdcall GdipSetPenBrushFill(ptr ptr)
 @ stub GdipSetPenColor
 @ stub GdipSetPenCompoundArray
 @ stdcall GdipSetPenCustomEndCap(ptr ptr)
diff --git a/dlls/gdiplus/pen.c b/dlls/gdiplus/pen.c
index c003076..8817c1b 100644
--- a/dlls/gdiplus/pen.c
+++ b/dlls/gdiplus/pen.c
@@ -144,6 +144,25 @@ GpStatus WINGDIPAPI GdipGetPenDashStyle(
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen *pen, GpBrush *brush)
+{
+    GpStatus retval;
+
+    if(!pen || !brush)
+        return InvalidParameter;
+
+    GdipDeleteBrush(pen->brush);
+    retval = GdipCloneBrush(brush, &pen->brush);
+    if(retval != Ok)
+        return retval;
+
+    DeleteObject(pen->gdipen);
+    pen->gdipen = ExtCreatePen(pen->style, roundr(pen->width), &pen->brush->lb, 0,
+                               NULL);
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen *pen, GpCustomLineCap* customCap)
 {
     GpCustomLineCap * cap;
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 31d973b..63a3873 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -31,6 +31,7 @@ GpStatus WINGDIPAPI GdipClonePen(GpPen*,
 GpStatus WINGDIPAPI GdipCreatePen1(ARGB,REAL,GpUnit,GpPen**);
 GpStatus WINGDIPAPI GdipDeletePen(GpPen*);
 GpStatus WINGDIPAPI GdipGetPenDashStyle(GpPen*,GpDashStyle*);
+GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen*,GpBrush*);
 GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen*,GpCustomLineCap*);
 GpStatus WINGDIPAPI GdipSetPenCustomStartCap(GpPen*,GpCustomLineCap*);
 GpStatus WINGDIPAPI GdipSetPenDashStyle(GpPen*,GpDashStyle);
-- 
1.4.1


More information about the wine-patches mailing list