Commit 90ff0fdd authored by Evan Stade's avatar Evan Stade Committed by Alexandre Julliard

gdiplus: Added GdipPathIterNextSubpath.

parent ef6c4166
......@@ -440,7 +440,7 @@
@ stub GdipPathIterNextMarker
@ stub GdipPathIterNextMarkerPath
@ stub GdipPathIterNextPathType
@ stub GdipPathIterNextSubpath
@ stdcall GdipPathIterNextSubpath(ptr ptr ptr ptr ptr)
@ stub GdipPathIterNextSubpathPath
@ stub GdipPathIterRewind
@ stub GdipPlayMetafileRecord
......
......@@ -83,3 +83,37 @@ GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator* iterator,
return Ok;
}
GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator* iterator,
INT *resultCount, INT* startIndex, INT* endIndex, BOOL* isClosed)
{
INT i, count;
if(!iterator)
return InvalidParameter;
count = iterator->pathdata.Count;
if(iterator->subpath_pos == count){
*startIndex = *endIndex = *resultCount = 0;
*isClosed = 1;
return Ok;
}
*startIndex = iterator->subpath_pos;
for(i = iterator->subpath_pos + 1; i < count &&
!(iterator->pathdata.Types[i] == PathPointTypeStart); i++);
*endIndex = i - 1;
iterator->subpath_pos = i;
*resultCount = *endIndex - *startIndex + 1;
if(iterator->pathdata.Types[*endIndex] & PathPointTypeCloseSubpath)
*isClosed = TRUE;
else
*isClosed = FALSE;
return Ok;
}
......@@ -89,6 +89,7 @@ GpStatus WINGDIPAPI GdipCreatePathIter(GpPathIterator**,GpPath*);
GpStatus WINGDIPAPI GdipDeletePathIter(GpPathIterator*);
GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*,
INT,INT);
GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*);
#ifdef __cplusplus
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment