Nikolay Sivov : gdiplus: Implemented GdipAddPathCurve/GdipAddPathCurveI.

Alexandre Julliard julliard at winehq.org
Mon Aug 4 08:53:47 CDT 2008


Module: wine
Branch: master
Commit: 6492f07f8dc7afeb9bd5ff487a89ed11483ec49b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6492f07f8dc7afeb9bd5ff487a89ed11483ec49b

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Sun Aug  3 02:45:15 2008 +0400

gdiplus: Implemented GdipAddPathCurve/GdipAddPathCurveI.

---

 dlls/gdiplus/gdiplus.spec   |    4 ++--
 dlls/gdiplus/graphicspath.c |   16 ++++++++++++++++
 include/gdiplusflat.h       |    2 ++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index a592971..d812fcf 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -12,8 +12,8 @@
 @ stdcall GdipAddPathCurve2I(ptr ptr long long)
 @ stub GdipAddPathCurve3
 @ stub GdipAddPathCurve3I
-@ stub GdipAddPathCurve
-@ stub GdipAddPathCurveI
+@ stdcall GdipAddPathCurve(ptr ptr long)
+@ stdcall GdipAddPathCurveI(ptr ptr long)
 @ stdcall GdipAddPathEllipse(ptr long long long long)
 @ stdcall GdipAddPathEllipseI(ptr long long long long)
 @ stdcall GdipAddPathLine2(ptr ptr long)
diff --git a/dlls/gdiplus/graphicspath.c b/dlls/gdiplus/graphicspath.c
index 8e8930d..86059f0 100644
--- a/dlls/gdiplus/graphicspath.c
+++ b/dlls/gdiplus/graphicspath.c
@@ -196,6 +196,22 @@ GpStatus WINGDIPAPI GdipAddPathBeziersI(GpPath *path, GDIPCONST GpPoint *points,
     return ret;
 }
 
+GpStatus WINGDIPAPI GdipAddPathCurve(GpPath *path, GDIPCONST GpPointF *points, INT count)
+{
+    if(!path || !points || count <= 1)
+        return InvalidParameter;
+
+   return GdipAddPathCurve2(path, points, count, 1.0);
+}
+
+GpStatus WINGDIPAPI GdipAddPathCurveI(GpPath *path, GDIPCONST GpPoint *points, INT count)
+{
+    if(!path || !points || count <= 1)
+        return InvalidParameter;
+
+   return GdipAddPathCurve2I(path, points, count, 1.0);
+}
+
 GpStatus WINGDIPAPI GdipAddPathCurve2(GpPath *path, GDIPCONST GpPointF *points, INT count,
     REAL tension)
 {
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index da5c930..ca9975d 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -246,6 +246,8 @@ GpStatus WINGDIPAPI GdipAddPathBezier(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL,REAL
 GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath*,INT,INT,INT,INT,INT,INT,INT,INT);
 GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath*,GDIPCONST GpPointF*,INT);
 GpStatus WINGDIPAPI GdipAddPathBeziersI(GpPath*,GDIPCONST GpPoint*,INT);
+GpStatus WINGDIPAPI GdipAddPathCurve(GpPath*,GDIPCONST GpPointF*,INT);
+GpStatus WINGDIPAPI GdipAddPathCurveI(GpPath*,GDIPCONST GpPoint*,INT);
 GpStatus WINGDIPAPI GdipAddPathCurve2(GpPath*,GDIPCONST GpPointF*,INT,REAL);
 GpStatus WINGDIPAPI GdipAddPathCurve2I(GpPath*,GDIPCONST GpPoint*,INT,REAL);
 GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL);




More information about the wine-cvs mailing list