Module: wine Branch: master Commit: e6055f936e6b348a96cf0e8559d7f039b2c250a8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e6055f936e6b348a96cf0e8559...
Author: Nikolay Sivov bunglehead@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,