[1/3] gdiplus: Implementation of GdipPathIterEnumerate
Nikolay Sivov
bunglehead at gmail.com
Thu Jul 3 01:41:57 CDT 2008
Changelog:
- 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 bdc1b90..a5b0b07 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 5750420..7d5cb31 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,
--
1.4.4.4
More information about the wine-patches
mailing list