gdiplus: Added GdipFillPath.
This commit is contained in:
parent
9e88347f45
commit
d362b58ded
|
@ -208,7 +208,7 @@
|
||||||
@ stub GdipFillClosedCurveI
|
@ stub GdipFillClosedCurveI
|
||||||
@ stub GdipFillEllipse
|
@ stub GdipFillEllipse
|
||||||
@ stub GdipFillEllipseI
|
@ stub GdipFillEllipseI
|
||||||
@ stub GdipFillPath
|
@ stdcall GdipFillPath(ptr ptr ptr)
|
||||||
@ stdcall GdipFillPie(ptr ptr long long long long long long)
|
@ stdcall GdipFillPie(ptr ptr long long long long long long)
|
||||||
@ stub GdipFillPieI
|
@ stub GdipFillPieI
|
||||||
@ stub GdipFillPolygon2
|
@ stub GdipFillPolygon2
|
||||||
|
|
|
@ -785,6 +785,38 @@ GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics *graphics, GpPen *pen, INT x,
|
||||||
return Ok;
|
return Ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GpStatus WINGDIPAPI GdipFillPath(GpGraphics *graphics, GpBrush *brush, GpPath *path)
|
||||||
|
{
|
||||||
|
INT save_state;
|
||||||
|
GpStatus retval;
|
||||||
|
|
||||||
|
if(!brush || !graphics || !path)
|
||||||
|
return InvalidParameter;
|
||||||
|
|
||||||
|
save_state = SaveDC(graphics->hdc);
|
||||||
|
EndPath(graphics->hdc);
|
||||||
|
SelectObject(graphics->hdc, brush->gdibrush);
|
||||||
|
SetPolyFillMode(graphics->hdc, (path->fill == FillModeAlternate ? ALTERNATE
|
||||||
|
: WINDING));
|
||||||
|
|
||||||
|
BeginPath(graphics->hdc);
|
||||||
|
retval = draw_poly(graphics->hdc, NULL, path->pathdata.Points,
|
||||||
|
path->pathdata.Types, path->pathdata.Count, FALSE);
|
||||||
|
|
||||||
|
if(retval != Ok)
|
||||||
|
goto end;
|
||||||
|
|
||||||
|
EndPath(graphics->hdc);
|
||||||
|
FillPath(graphics->hdc);
|
||||||
|
|
||||||
|
retval = Ok;
|
||||||
|
|
||||||
|
end:
|
||||||
|
RestoreDC(graphics->hdc, save_state);
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
GpStatus WINGDIPAPI GdipFillPie(GpGraphics *graphics, GpBrush *brush, REAL x,
|
GpStatus WINGDIPAPI GdipFillPie(GpGraphics *graphics, GpBrush *brush, REAL x,
|
||||||
REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
|
REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,6 +44,7 @@ GpStatus WINGDIPAPI GdipDrawLines(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
|
||||||
GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*);
|
GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*);
|
||||||
GpStatus WINGDIPAPI GdipDrawPie(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
|
GpStatus WINGDIPAPI GdipDrawPie(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
|
||||||
GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics*,GpPen*,INT,INT,INT,INT);
|
GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics*,GpPen*,INT,INT,INT,INT);
|
||||||
|
GpStatus WINGDIPAPI GdipFillPath(GpGraphics*,GpBrush*,GpPath*);
|
||||||
GpStatus WINGDIPAPI GdipFillPie(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL,REAL,REAL);
|
GpStatus WINGDIPAPI GdipFillPie(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL,REAL,REAL);
|
||||||
GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*);
|
GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*);
|
||||||
GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*);
|
GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*);
|
||||||
|
|
Loading…
Reference in New Issue