Nikolay Sivov : gdiplus: Implemented GdipAddPathBezier.

Alexandre Julliard julliard at winehq.org
Fri Apr 25 08:10:59 CDT 2008


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

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Fri Apr 25 01:58:26 2008 +0400

gdiplus: Implemented GdipAddPathBezier.

---

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

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 3905c74..9fdd4be 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -1,6 +1,6 @@
 @ stdcall GdipAddPathArc(ptr long long long long long long)
 @ stdcall GdipAddPathArcI(ptr long long long long long long)
-@ stub GdipAddPathBezier
+@ stdcall GdipAddPathBezier(ptr long long long long long long long long)
 @ stdcall GdipAddPathBezierI(ptr long long long long long long long long)
 @ stdcall GdipAddPathBeziers(ptr ptr long)
 @ stub GdipAddPathBeziersI
diff --git a/dlls/gdiplus/graphicspath.c b/dlls/gdiplus/graphicspath.c
index d7be43e..3f83bea 100644
--- a/dlls/gdiplus/graphicspath.c
+++ b/dlls/gdiplus/graphicspath.c
@@ -103,8 +103,8 @@ GpStatus WINGDIPAPI GdipAddPathArcI(GpPath *path, INT x1, INT y1, INT x2,
     return GdipAddPathArc(path,(REAL)x1,(REAL)y1,(REAL)x2,(REAL)y2,startAngle,sweepAngle);
 }
 
-GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath *path, INT x1, INT y1, INT x2,
-    INT y2, INT x3, INT y3, INT x4, INT y4)
+GpStatus WINGDIPAPI GdipAddPathBezier(GpPath *path, REAL x1, REAL y1, REAL x2,
+    REAL y2, REAL x3, REAL y3, REAL x4, REAL y4)
 {
     INT old_count;
 
@@ -116,14 +116,14 @@ GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath *path, INT x1, INT y1, INT x2,
 
     old_count = path->pathdata.Count;
 
-    path->pathdata.Points[old_count].X = (REAL) x1;
-    path->pathdata.Points[old_count].Y = (REAL) y1;
-    path->pathdata.Points[old_count + 1].X = (REAL) x2;
-    path->pathdata.Points[old_count + 1].Y = (REAL) y2;
-    path->pathdata.Points[old_count + 2].X = (REAL) x3;
-    path->pathdata.Points[old_count + 2].Y = (REAL) y3;
-    path->pathdata.Points[old_count + 3].X = (REAL) x4;
-    path->pathdata.Points[old_count + 3].Y = (REAL) y4;
+    path->pathdata.Points[old_count].X = x1;
+    path->pathdata.Points[old_count].Y = y1;
+    path->pathdata.Points[old_count + 1].X = x2;
+    path->pathdata.Points[old_count + 1].Y = y2;
+    path->pathdata.Points[old_count + 2].X = x3;
+    path->pathdata.Points[old_count + 2].Y = y3;
+    path->pathdata.Points[old_count + 3].X = x4;
+    path->pathdata.Points[old_count + 3].Y = y4;
 
     path->pathdata.Types[old_count] =
         (path->newfigure ? PathPointTypeStart : PathPointTypeLine);
@@ -137,6 +137,13 @@ GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath *path, INT x1, INT y1, INT x2,
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath *path, INT x1, INT y1, INT x2,
+    INT y2, INT x3, INT y3, INT x4, INT y4)
+{
+    return GdipAddPathBezier(path,(REAL)x1,(REAL)y1,(REAL)x2,(REAL)y2,(REAL)x3,(REAL)y3,
+                                  (REAL)x4,(REAL)y4);
+}
+
 GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath *path, GDIPCONST GpPointF *points,
     INT count)
 {
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 366e8a5..cd349ea 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -189,6 +189,7 @@ GpStatus WINGDIPAPI GdipSetTextureTransform(GpTexture *,GDIPCONST GpMatrix*);
 
 GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL);
 GpStatus WINGDIPAPI GdipAddPathArcI(GpPath*,INT,INT,INT,INT,REAL,REAL);
+GpStatus WINGDIPAPI GdipAddPathBezier(GpPath*,REAL,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 GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL);




More information about the wine-cvs mailing list