gdiplus: Updated GdipDrawLines to use SaveDC()/RestoreDC()/end caps.
This commit is contained in:
parent
40f2273f03
commit
852aac8b54
|
@ -548,20 +548,18 @@ GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics *graphics, GpPen *pen, INT x1,
|
||||||
GpStatus WINGDIPAPI GdipDrawLines(GpGraphics *graphics, GpPen *pen, GDIPCONST
|
GpStatus WINGDIPAPI GdipDrawLines(GpGraphics *graphics, GpPen *pen, GDIPCONST
|
||||||
GpPointF *points, INT count)
|
GpPointF *points, INT count)
|
||||||
{
|
{
|
||||||
HGDIOBJ old_obj;
|
INT save_state;
|
||||||
INT i;
|
|
||||||
|
|
||||||
if(!pen || !graphics || (count < 2))
|
if(!pen || !graphics || (count < 2))
|
||||||
return InvalidParameter;
|
return InvalidParameter;
|
||||||
|
|
||||||
old_obj = SelectObject(graphics->hdc, pen->gdipen);
|
save_state = SaveDC(graphics->hdc);
|
||||||
MoveToEx(graphics->hdc, roundr(points[0].X), roundr(points[0].Y), NULL);
|
EndPath(graphics->hdc);
|
||||||
|
SelectObject(graphics->hdc, pen->gdipen);
|
||||||
|
|
||||||
for(i = 1; i < count; i++){
|
draw_polyline(graphics->hdc, pen, points, count, TRUE);
|
||||||
LineTo(graphics->hdc, roundr(points[i].X), roundr(points[i].Y));
|
|
||||||
}
|
|
||||||
|
|
||||||
SelectObject(graphics->hdc, old_obj);
|
RestoreDC(graphics->hdc, save_state);
|
||||||
|
|
||||||
return Ok;
|
return Ok;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue