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

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jul 12 08:32:34 CDT 2007


Module: wine
Branch: master
Commit: 852aac8b54b12812187d5c4dc558b5fb52cbcc07
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=852aac8b54b12812187d5c4dc558b5fb52cbcc07

Author: Evan Stade <estade at gmail.com>
Date:   Wed Jul 11 18:07:16 2007 -0700

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

---

 dlls/gdiplus/graphics.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

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(GpGraphics *graphics, GpPen *pen, INT x1,
 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;
 }




More information about the wine-cvs mailing list