[12/17] gdiplus: added GdipCloneBrush

Evan Stade estade at gmail.com
Thu Jul 19 20:23:04 CDT 2007


Hi,

 dlls/gdiplus/brush.c      |   15 +++++++++++++++
 dlls/gdiplus/gdiplus.spec |    2 +-
 include/gdiplusflat.h     |    1 +
 3 files changed, 17 insertions(+), 1 deletions(-)

-- 
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c
index b39df22..21c92b5 100644
--- a/dlls/gdiplus/brush.c
+++ b/dlls/gdiplus/brush.c
@@ -21,6 +21,21 @@ #include "wingdi.h"
 #include "gdiplus.h"
 #include "gdiplus_private.h"
 
+GpStatus WINGDIPAPI GdipCloneBrush(GpBrush *brush, GpBrush **clone)
+{
+    if(!brush || !clone)
+        return InvalidParameter;
+
+    *clone = GdipAlloc(sizeof(GpBrush));
+    if (!*clone) return OutOfMemory;
+
+    memcpy(*clone, brush, sizeof(GpBrush));
+
+    (*clone)->gdibrush = CreateBrushIndirect(&(*clone)->lb);
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB color, GpSolidFill **sf)
 {
     COLORREF col = ARGB2COLORREF(color);
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 755a70d..a0f57af 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -43,7 +43,7 @@
 @ stub GdipClearPathMarkers
 @ stub GdipCloneBitmapArea
 @ stub GdipCloneBitmapAreaI
-@ stub GdipCloneBrush
+@ stdcall GdipCloneBrush(ptr ptr)
 @ stdcall GdipCloneCustomLineCap(ptr ptr)
 @ stub GdipCloneFont
 @ stub GdipCloneFontFamily
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 365e81a..d181825 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -64,6 +64,7 @@ GpStatus WINGDIPAPI GdipSetInterpolation
 GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics*,PixelOffsetMode);
 GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics*,SmoothingMode);
 
+GpStatus WINGDIPAPI GdipCloneBrush(GpBrush*,GpBrush**);
 GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**);
 GpStatus WINGDIPAPI GdipGetBrushType(GpBrush*,GpBrushType*);
 GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*);
-- 
1.4.1


More information about the wine-patches mailing list