diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index dd98c5058bc..9fb0e9da3b5 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -452,7 +452,7 @@ @ stub GdipNewPrivateFontCollection @ stdcall GdipPathIterCopyData(ptr ptr ptr ptr long long) @ stub GdipPathIterEnumerate -@ stub GdipPathIterGetCount +@ stdcall GdipPathIterGetCount(ptr ptr) @ stub GdipPathIterGetSubpathCount @ stub GdipPathIterHasCurve @ stub GdipPathIterIsValid diff --git a/dlls/gdiplus/pathiterator.c b/dlls/gdiplus/pathiterator.c index d1e4e88bf97..67d83a434bb 100644 --- a/dlls/gdiplus/pathiterator.c +++ b/dlls/gdiplus/pathiterator.c @@ -131,3 +131,13 @@ GpStatus WINGDIPAPI GdipPathIterRewind(GpPathIterator *iterator) return Ok; } + +GpStatus WINGDIPAPI GdipPathIterGetCount(GpPathIterator* iterator, INT* count) +{ + if(!iterator || !count) + return InvalidParameter; + + *count = iterator->pathdata.Count; + + return Ok; +} diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index b6150949d3f..a0dd2edc109 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -269,6 +269,7 @@ GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*, INT,INT); GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*); GpStatus WINGDIPAPI GdipPathIterRewind(GpPathIterator*); +GpStatus WINGDIPAPI GdipPathIterGetCount(GpPathIterator*,INT*); GpStatus WINGDIPAPI GdipCloneCustomLineCap(GpCustomLineCap*,GpCustomLineCap**); GpStatus WINGDIPAPI GdipCreateCustomLineCap(GpPath*,GpPath*,GpLineCap,REAL,