gdiplus: Added GdipPathIterNextSubpath.
This commit is contained in:
parent
ef6c416631
commit
90ff0fdd6c
|
@ -440,7 +440,7 @@
|
||||||
@ stub GdipPathIterNextMarker
|
@ stub GdipPathIterNextMarker
|
||||||
@ stub GdipPathIterNextMarkerPath
|
@ stub GdipPathIterNextMarkerPath
|
||||||
@ stub GdipPathIterNextPathType
|
@ stub GdipPathIterNextPathType
|
||||||
@ stub GdipPathIterNextSubpath
|
@ stdcall GdipPathIterNextSubpath(ptr ptr ptr ptr ptr)
|
||||||
@ stub GdipPathIterNextSubpathPath
|
@ stub GdipPathIterNextSubpathPath
|
||||||
@ stub GdipPathIterRewind
|
@ stub GdipPathIterRewind
|
||||||
@ stub GdipPlayMetafileRecord
|
@ stub GdipPlayMetafileRecord
|
||||||
|
|
|
@ -83,3 +83,37 @@ GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator* iterator,
|
||||||
|
|
||||||
return Ok;
|
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 GdipDeletePathIter(GpPathIterator*);
|
||||||
GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*,
|
GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*,
|
||||||
INT,INT);
|
INT,INT);
|
||||||
|
GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue