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