[6/7] gdiplus: added GdipGetPathPoints

Evan Stade estade at gmail.com
Fri Jul 6 18:14:38 CDT 2007


Hi,

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

-- 
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index ef2a7db..d0ce8d9 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -327,7 +327,7 @@
 @ stub GdipGetPathGradientTransform
 @ stub GdipGetPathGradientWrapMode
 @ stub GdipGetPathLastPoint
-@ stub GdipGetPathPoints
+@ stdcall GdipGetPathPoints(ptr ptr long)
 @ stub GdipGetPathPointsI
 @ stub GdipGetPathTypes
 @ stub GdipGetPathWorldBounds
diff --git a/dlls/gdiplus/graphicspath.c b/dlls/gdiplus/graphicspath.c
index bc64f39..6f52d47 100644
--- a/dlls/gdiplus/graphicspath.c
+++ b/dlls/gdiplus/graphicspath.c
@@ -144,6 +144,19 @@ GpStatus WINGDIPAPI GdipDeletePath(GpPat
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipGetPathPoints(GpPath *path, GpPointF* points, INT count)
+{
+    if(!path)
+        return InvalidParameter;
+
+    if(count < path->pathdata.Count)
+        return InsufficientBuffer;
+
+    memcpy(points, path->pathdata.Points, path->pathdata.Count);
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipGetPointCount(GpPath *path, INT *count)
 {
     if(!path)
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index e92c803..0d38be9 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -53,6 +53,7 @@ GpStatus WINGDIPAPI GdipClosePathFigure(
 GpStatus WINGDIPAPI GdipClosePathFigures(GpPath*);
 GpStatus WINGDIPAPI GdipCreatePath(GpFillMode,GpPath**);
 GpStatus WINGDIPAPI GdipDeletePath(GpPath*);
+GpStatus WINGDIPAPI GdipGetPathPoints(GpPath*,GpPointF*,INT);
 GpStatus WINGDIPAPI GdipGetPointCount(GpPath*,INT*);
 
 #ifdef __cplusplus
-- 
1.4.1


More information about the wine-patches mailing list