Module: wine Branch: master Commit: 08784f371762133fb57a6329926345899856d3cb URL: http://source.winehq.org/git/wine.git/?a=commit;h=08784f371762133fb57a632992...
Author: Evan Stade estade@gmail.com Date: Fri Jul 6 16:14:38 2007 -0700
gdiplus: Added GdipGetPathPoints.
---
dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/graphicspath.c | 13 +++++++++++++ include/gdiplusflat.h | 1 + 3 files changed, 15 insertions(+), 1 deletions(-)
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(GpPath *path) 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(GpPath*); 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