[1/9] gdiplus: added GdipSetPenLineCap197819

Evan Stade estade at gmail.com
Mon Jul 16 21:44:50 CDT 2007


Hi,

Changelog:
*added GdipSetPenLineCap197819
*added DashCap enum types

 dlls/gdiplus/gdiplus.spec      |    2 +-
 dlls/gdiplus/gdiplus_private.h |    2 ++
 dlls/gdiplus/pen.c             |   14 ++++++++++++++
 include/gdiplusenums.h         |    8 ++++++++
 include/gdiplusflat.h          |    1 +
 include/gdiplusgpstubs.h       |    1 +
 6 files changed, 27 insertions(+), 1 deletions(-)

-- 
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index b5e0b03..d14457e 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -551,7 +551,7 @@
 @ stub GdipSetPenDashOffset
 @ stub GdipSetPenDashStyle
 @ stdcall GdipSetPenEndCap(ptr long)
-@ stub GdipSetPenLineCap197819
+@ stdcall GdipSetPenLineCap197819(ptr long long long)
 @ stub GdipSetPenLineJoin
 @ stub GdipSetPenMiterLimit
 @ stub GdipSetPenMode
diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h
index 20678c8..d7851d6 100644
--- a/dlls/gdiplus/gdiplus_private.h
+++ b/dlls/gdiplus/gdiplus_private.h
@@ -47,6 +47,8 @@ struct GpPen{
     REAL width;
     HPEN gdipen;
     GpLineCap endcap;
+    GpLineCap startcap;
+    GpDashCap dashcap;
     GpLineJoin join;
     REAL miterlimit;
 };
diff --git a/dlls/gdiplus/pen.c b/dlls/gdiplus/pen.c
index a4894d3..3bebc35 100644
--- a/dlls/gdiplus/pen.c
+++ b/dlls/gdiplus/pen.c
@@ -100,6 +100,20 @@ GpStatus WINGDIPAPI GdipSetPenEndCap(GpP
     return Ok;
 }
 
+/* FIXME: startcap, dashcap not used. */
+GpStatus WINGDIPAPI GdipSetPenLineCap197819(GpPen *pen, GpLineCap start,
+    GpLineCap end, GpDashCap dash)
+{
+    if(!pen)
+        return InvalidParameter;
+
+    pen->startcap = start;
+    pen->endcap = end;
+    pen->dashcap = dash;
+
+    return Ok;
+}
+
 /* FIXME: Miter line joins behave a bit differently than they do in windows.
  * Both kinds of miter joins clip if the angle is less than 11 degrees. */
 GpStatus WINGDIPAPI GdipSetPenLineJoin(GpPen *pen, GpLineJoin join)
diff --git a/include/gdiplusenums.h b/include/gdiplusenums.h
index 74f9c02..7bf5eb6 100644
--- a/include/gdiplusenums.h
+++ b/include/gdiplusenums.h
@@ -134,6 +134,13 @@ enum PixelOffsetMode
     PixelOffsetModeHalf
 };
 
+enum DashCap
+{
+    DashCapFlat     = 0,
+    DashCapRound    = 2,
+    DashCapTriangle = 3
+};
+
 #ifndef __cplusplus
 
 typedef enum Unit Unit;
@@ -147,6 +154,7 @@ typedef enum SmoothingMode SmoothingMode
 typedef enum CompositingQuality CompositingQuality;
 typedef enum InterpolationMode InterpolationMode;
 typedef enum PixelOffsetMode PixelOffsetMode;
+typedef enum DashCap DashCap;
 
 #endif /* end of c typedefs */
 
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 3bda290..3ac4b3e 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -30,6 +30,7 @@ #endif
 GpStatus WINGDIPAPI GdipCreatePen1(ARGB,REAL,GpUnit,GpPen**);
 GpStatus WINGDIPAPI GdipDeletePen(GpPen*);
 GpStatus WINGDIPAPI GdipSetPenEndCap(GpPen*,GpLineCap);
+GpStatus WINGDIPAPI GdipSetPenLineCap197819(GpPen*,GpLineCap,GpLineCap,GpDashCap);
 GpStatus WINGDIPAPI GdipSetPenLineJoin(GpPen*,GpLineJoin);
 
 GpStatus WINGDIPAPI GdipCreateFromHDC(HDC,GpGraphics**);
diff --git a/include/gdiplusgpstubs.h b/include/gdiplusgpstubs.h
index b3962aa..d2174bb 100644
--- a/include/gdiplusgpstubs.h
+++ b/include/gdiplusgpstubs.h
@@ -48,5 +48,6 @@ typedef PathData GpPathData;
 typedef LineCap GpLineCap;
 typedef RectF GpRectF;
 typedef LineJoin GpLineJoin;
+typedef DashCap GpDashCap;
 
 #endif
-- 
1.4.1



More information about the wine-patches mailing list