[5/18] gdiplus: updated GdipDrawLines
Evan Stade
estade at gmail.com
Wed Jul 11 20:07:16 CDT 2007
Hi,
Changelog:
*updated GdipDrawLines to use SaveDC()/RestoreDC()/end caps
dlls/gdiplus/graphics.c | 14 ++++++--------
1 files changed, 6 insertions(+), 8 deletions(-)
--
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 6e3bf1d..82260ec 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -548,20 +548,18 @@ GpStatus WINGDIPAPI GdipDrawLineI(GpGrap
GpStatus WINGDIPAPI GdipDrawLines(GpGraphics *graphics, GpPen *pen, GDIPCONST
GpPointF *points, INT count)
{
- HGDIOBJ old_obj;
- INT i;
+ INT save_state;
if(!pen || !graphics || (count < 2))
return InvalidParameter;
- old_obj = SelectObject(graphics->hdc, pen->gdipen);
- MoveToEx(graphics->hdc, roundr(points[0].X), roundr(points[0].Y), NULL);
+ save_state = SaveDC(graphics->hdc);
+ EndPath(graphics->hdc);
+ SelectObject(graphics->hdc, pen->gdipen);
- for(i = 1; i < count; i++){
- LineTo(graphics->hdc, roundr(points[i].X), roundr(points[i].Y));
- }
+ draw_polyline(graphics->hdc, pen, points, count, TRUE);
- SelectObject(graphics->hdc, old_obj);
+ RestoreDC(graphics->hdc, save_state);
return Ok;
}
--
1.4.1
More information about the wine-patches
mailing list