Module: wine Branch: master Commit: 19cc99c33387a3f0d7de208f6586ebac1081a61f URL: http://source.winehq.org/git/wine.git/?a=commit;h=19cc99c33387a3f0d7de208f65...
Author: Nikolay Sivov bunglehead@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);