gdiplus: Added GdipAddPathBezierI.

This commit is contained in:
Evan Stade 2007-08-14 19:00:02 -07:00 committed by Alexandre Julliard
parent 73be69c576
commit ee59d41441
4 changed files with 38 additions and 1 deletions

View File

@ -1,7 +1,7 @@
@ stdcall GdipAddPathArc(ptr long long long long long long) @ stdcall GdipAddPathArc(ptr long long long long long long)
@ stub GdipAddPathArcI @ stub GdipAddPathArcI
@ stub GdipAddPathBezier @ stub GdipAddPathBezier
@ stub GdipAddPathBezierI @ stdcall GdipAddPathBezierI(ptr long long long long long long long long)
@ stdcall GdipAddPathBeziers(ptr ptr long) @ stdcall GdipAddPathBeziers(ptr ptr long)
@ stub GdipAddPathBeziersI @ stub GdipAddPathBeziersI
@ stub GdipAddPathClosedCurve2 @ stub GdipAddPathClosedCurve2

View File

@ -1291,6 +1291,8 @@ GpStatus WINGDIPAPI GdipDrawString(GpGraphics *graphics, GDIPCONST WCHAR *string
if(format || (brush->bt != BrushTypeSolidColor)){ if(format || (brush->bt != BrushTypeSolidColor)){
FIXME("not implemented for given parameters\n"); FIXME("not implemented for given parameters\n");
if(format)
TRACE("format attr is %d\n", format->attr);
return NotImplemented; return NotImplemented;
} }

View File

@ -97,6 +97,40 @@ GpStatus WINGDIPAPI GdipAddPathArc(GpPath *path, REAL x1, REAL y1, REAL x2,
return Ok; return Ok;
} }
GpStatus WINGDIPAPI GdipAddPathBezierI(GpPath *path, INT x1, INT y1, INT x2,
INT y2, INT x3, INT y3, INT x4, INT y4)
{
INT old_count;
if(!path)
return InvalidParameter;
if(!lengthen_path(path, 4))
return OutOfMemory;
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.Types[old_count] =
(path->newfigure ? PathPointTypeStart : PathPointTypeLine);
path->pathdata.Types[old_count + 1] = PathPointTypeBezier;
path->pathdata.Types[old_count + 2] = PathPointTypeBezier;
path->pathdata.Types[old_count + 3] = PathPointTypeBezier;
path->newfigure = FALSE;
path->pathdata.Count += 4;
return Ok;
}
GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath *path, GDIPCONST GpPointF *points, GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath *path, GDIPCONST GpPointF *points,
INT count) INT count)
{ {

View File

@ -140,6 +140,7 @@ GpStatus WINGDIPAPI GdipSetSolidFillColor(GpSolidFill*,ARGB);
GpStatus WINGDIPAPI GdipSetTextureTransform(GpTexture *,GDIPCONST GpMatrix*); GpStatus WINGDIPAPI GdipSetTextureTransform(GpTexture *,GDIPCONST GpMatrix*);
GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL); GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,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 GdipAddPathBeziers(GpPath*,GDIPCONST GpPointF*,INT);
GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL); GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL);
GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT); GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT);