From 143ebd60bb3d5a50d6d53fd42e139efd71fe9d5c Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Tue, 24 Jun 2008 01:57:15 +0400 Subject: [PATCH] gdiplus: GdipPathIterGetCount implementation. --- dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/pathiterator.c | 10 ++++++++++ include/gdiplusflat.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) 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,