mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 11:26:10 +00:00
gdiplus: Added GdipAddPathEllipse.
This commit is contained in:
parent
f52adfd0de
commit
fe2ce3a08b
3 changed files with 32 additions and 1 deletions
|
@ -14,7 +14,7 @@
|
|||
@ stub GdipAddPathCurve3I
|
||||
@ stub GdipAddPathCurve
|
||||
@ stub GdipAddPathCurveI
|
||||
@ stub GdipAddPathEllipse
|
||||
@ stdcall GdipAddPathEllipse(ptr long long long long)
|
||||
@ stub GdipAddPathEllipseI
|
||||
@ stdcall GdipAddPathLine2(ptr ptr long)
|
||||
@ stub GdipAddPathLine2I
|
||||
|
|
|
@ -121,6 +121,36 @@ GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath *path, GDIPCONST GpPointF *points,
|
|||
return Ok;
|
||||
}
|
||||
|
||||
GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath *path, REAL x, REAL y, REAL width,
|
||||
REAL height)
|
||||
{
|
||||
INT old_count, numpts;
|
||||
|
||||
if(!path)
|
||||
return InvalidParameter;
|
||||
|
||||
if(!lengthen_path(path, MAX_ARC_PTS))
|
||||
return OutOfMemory;
|
||||
|
||||
old_count = path->pathdata.Count;
|
||||
if((numpts = arc2polybezier(&path->pathdata.Points[old_count], x, y, width,
|
||||
height, 0.0, 360.0)) != MAX_ARC_PTS){
|
||||
ERR("expected %d points but got %d\n", MAX_ARC_PTS, numpts);
|
||||
return GenericError;
|
||||
}
|
||||
|
||||
memset(&path->pathdata.Types[old_count + 1], PathPointTypeBezier,
|
||||
MAX_ARC_PTS - 1);
|
||||
|
||||
/* An ellipse is an instrinsic figure (always its own subpath). */
|
||||
path->pathdata.Types[old_count] = PathPointTypeStart;
|
||||
path->pathdata.Types[old_count + MAX_ARC_PTS - 1] |= PathPointTypeCloseSubpath;
|
||||
path->newfigure = TRUE;
|
||||
path->pathdata.Count += MAX_ARC_PTS;
|
||||
|
||||
return Ok;
|
||||
}
|
||||
|
||||
GpStatus WINGDIPAPI GdipAddPathLine2(GpPath *path, GDIPCONST GpPointF *points,
|
||||
INT count)
|
||||
{
|
||||
|
|
|
@ -89,6 +89,7 @@ GpStatus WINGDIPAPI GdipSetSolidFillColor(GpSolidFill*,ARGB);
|
|||
|
||||
GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL);
|
||||
GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath*,GDIPCONST GpPointF*,INT);
|
||||
GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL);
|
||||
GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT);
|
||||
GpStatus WINGDIPAPI GdipAddPathPath(GpPath*,GDIPCONST GpPath*,BOOL);
|
||||
GpStatus WINGDIPAPI GdipClosePathFigure(GpPath*);
|
||||
|
|
Loading…
Reference in a new issue