[14/18] gdiplus: added GdipTransformPath

Evan Stade estade at gmail.com
Wed Jul 11 20:08:05 CDT 2007


Hi,

 dlls/gdiplus/gdiplus.spec   |    2 +-
 dlls/gdiplus/graphicspath.c |   12 ++++++++++++
 include/gdiplusflat.h       |    1 +
 3 files changed, 14 insertions(+), 1 deletions(-)

-- 
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 5879360..c1d6725 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -584,7 +584,7 @@
 @ stub GdipTestControl
 @ stdcall GdipTransformMatrixPoints(ptr ptr long)
 @ stub GdipTransformMatrixPointsI
-@ stub GdipTransformPath
+@ stdcall GdipTransformPath(ptr ptr)
 @ stub GdipTransformPoints
 @ stub GdipTransformPointsI
 @ stub GdipTransformRegion
diff --git a/dlls/gdiplus/graphicspath.c b/dlls/gdiplus/graphicspath.c
index 394b9f6..4665fca 100644
--- a/dlls/gdiplus/graphicspath.c
+++ b/dlls/gdiplus/graphicspath.c
@@ -222,3 +222,15 @@ GpStatus WINGDIPAPI GdipStartPathFigure(
 
     return Ok;
 }
+
+GpStatus WINGDIPAPI GdipTransformPath(GpPath *path, GpMatrix *matrix)
+{
+    if(!path)
+        return InvalidParameter;
+
+    if(path->pathdata.Count == 0)
+        return Ok;
+
+    return GdipTransformMatrixPoints(matrix, (GpPointF*) path->pathdata.Points,
+                                     path->pathdata.Count);
+}
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 9185fd5..95dafde 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -59,6 +59,7 @@ GpStatus WINGDIPAPI GdipGetPathPoints(Gp
 GpStatus WINGDIPAPI GdipGetPathTypes(GpPath*,BYTE*,INT);
 GpStatus WINGDIPAPI GdipGetPointCount(GpPath*,INT*);
 GpStatus WINGDIPAPI GdipStartPathFigure(GpPath*);
+GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*);
 
 GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**);
 GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*);
-- 
1.4.1


More information about the wine-patches mailing list