Autosyncing with Wine HEAD
[reactos.git] / reactos / dll / win32 / gdiplus / pathiterator.c
index 67d83a4..abb5dbb 100644 (file)
@@ -87,6 +87,24 @@ GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator* iterator,
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipPathIterHasCurve(GpPathIterator* iterator, BOOL* hasCurve)
+{
+    INT i;
+
+    if(!iterator)
+        return InvalidParameter;
+
+    *hasCurve = FALSE;
+
+    for(i = 0; i < iterator->pathdata.Count; i++)
+        if((iterator->pathdata.Types[i] & PathPointTypePathTypeMask) == PathPointTypeBezier){
+            *hasCurve = TRUE;
+            break;
+        }
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator* iterator,
     INT *resultCount, INT* startIndex, INT* endIndex, BOOL* isClosed)
 {
@@ -141,3 +159,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);
+}