gdiplus: Updated GdipDrawLines to use SaveDC()/RestoreDC()/end caps.

This commit is contained in:
Evan Stade 2007-07-11 18:07:16 -07:00 committed by Alexandre Julliard
parent 40f2273f03
commit 852aac8b54
1 changed files with 6 additions and 8 deletions

View File

@ -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;
} }