[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