Nikolay Sivov : gdiplus: Implementation of GdipPathIterEnumerate.

Alexandre Julliard julliard at winehq.org
Thu Jul 3 06:35:33 CDT 2008


Module: wine
Branch: master
Commit: e6055f936e6b348a96cf0e8559d7f039b2c250a8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e6055f936e6b348a96cf0e8559d7f039b2c250a8

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Thu Jul  3 10:41:57 2008 +0400

gdiplus: Implementation of GdipPathIterEnumerate.

---

 dlls/gdiplus/gdiplus.spec   |    2 +-
 dlls/gdiplus/pathiterator.c |   14 ++++++++++++++
 include/gdiplusflat.h       |    1 +
 3 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 17c1b4c..233c101 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -451,7 +451,7 @@
 @ stub GdipNewInstalledFontCollection
 @ stub GdipNewPrivateFontCollection
 @ stdcall GdipPathIterCopyData(ptr ptr ptr ptr long long)
-@ stub GdipPathIterEnumerate
+@ stdcall GdipPathIterEnumerate(ptr ptr ptr ptr long)
 @ stdcall GdipPathIterGetCount(ptr ptr)
 @ stub GdipPathIterGetSubpathCount
 @ stub GdipPathIterHasCurve
diff --git a/dlls/gdiplus/pathiterator.c b/dlls/gdiplus/pathiterator.c
index 67d83a4..eb2cf34 100644
--- a/dlls/gdiplus/pathiterator.c
+++ b/dlls/gdiplus/pathiterator.c
@@ -141,3 +141,17 @@ GpStatus WINGDIPAPI GdipPathIterGetCount(GpPathIterator* iterator, INT* count)
 
     return Ok;
 }
+
+GpStatus WINGDIPAPI GdipPathIterEnumerate(GpPathIterator* iterator, INT* resultCount,
+    GpPointF *points, BYTE *types, INT count)
+{
+    if((count < 0) || !resultCount)
+        return InvalidParameter;
+
+    if(count == 0){
+        *resultCount = 0;
+        return Ok;
+    }
+
+    return GdipPathIterCopyData(iterator, resultCount, points, types, 0, count-1);
+}
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index fdcdeda..46b05c5 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -284,6 +284,7 @@ GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*,
 GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*);
 GpStatus WINGDIPAPI GdipPathIterRewind(GpPathIterator*);
 GpStatus WINGDIPAPI GdipPathIterGetCount(GpPathIterator*,INT*);
+GpStatus WINGDIPAPI GdipPathIterEnumerate(GpPathIterator*,INT*,GpPointF*,BYTE*,INT);
 
 GpStatus WINGDIPAPI GdipCloneCustomLineCap(GpCustomLineCap*,GpCustomLineCap**);
 GpStatus WINGDIPAPI GdipCreateCustomLineCap(GpPath*,GpPath*,GpLineCap,REAL,




More information about the wine-cvs mailing list