diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 9c7abb37ff3..6fec42c9026 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -332,7 +332,7 @@ @ stdcall GdipGetPathTypes(ptr ptr long) @ stdcall GdipGetPathWorldBounds(ptr ptr ptr ptr) @ stub GdipGetPathWorldBoundsI -@ stub GdipGetPenBrushFill +@ stdcall GdipGetPenBrushFill(ptr ptr) @ stdcall GdipGetPenColor(ptr ptr) @ stub GdipGetPenCompoundArray @ stub GdipGetPenCompoundCount diff --git a/dlls/gdiplus/pen.c b/dlls/gdiplus/pen.c index d52ef1e2b37..d68df33f843 100644 --- a/dlls/gdiplus/pen.c +++ b/dlls/gdiplus/pen.c @@ -134,6 +134,14 @@ GpStatus WINGDIPAPI GdipDeletePen(GpPen *pen) return Ok; } +GpStatus WINGDIPAPI GdipGetPenBrushFill(GpPen *pen, GpBrush **brush) +{ + if(!pen || !brush) + return InvalidParameter; + + return GdipCloneBrush(pen->brush, brush); +} + GpStatus WINGDIPAPI GdipGetPenColor(GpPen *pen, ARGB *argb) { if(!pen || !argb) diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index 1dfbe514a13..5f424c1ce67 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -30,6 +30,7 @@ extern "C" { GpStatus WINGDIPAPI GdipClonePen(GpPen*,GpPen**); GpStatus WINGDIPAPI GdipCreatePen1(ARGB,REAL,GpUnit,GpPen**); GpStatus WINGDIPAPI GdipDeletePen(GpPen*); +GpStatus WINGDIPAPI GdipGetPenBrushFill(GpPen*,GpBrush**); GpStatus WINGDIPAPI GdipGetPenColor(GpPen*,ARGB*); GpStatus WINGDIPAPI GdipGetPenDashStyle(GpPen*,GpDashStyle*); GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen*,GpBrush*);