Evan Stade : gdiplus: Added GdipDrawLine.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Aug 2 06:23:11 CDT 2007


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

Author: Evan Stade <estade at gmail.com>
Date:   Wed Aug  1 17:55:58 2007 -0700

gdiplus: Added GdipDrawLine.

---

 dlls/gdiplus/gdiplus.spec |    2 +-
 dlls/gdiplus/graphics.c   |   24 ++++++++++++++++++++++++
 include/gdiplusflat.h     |    1 +
 3 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index bb5c36d..871a9c4 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -185,7 +185,7 @@
 @ stub GdipDrawImageRectI
 @ stub GdipDrawImageRectRect
 @ stub GdipDrawImageRectRectI
-@ stub GdipDrawLine
+@ stdcall GdipDrawLine(ptr ptr long long long long)
 @ stdcall GdipDrawLineI(ptr ptr long long long long)
 @ stdcall GdipDrawLines(ptr ptr ptr long)
 @ stub GdipDrawLinesI
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 7c8fc16..439dedd 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -1076,6 +1076,30 @@ GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics *graphics, GpImage *image
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipDrawLine(GpGraphics *graphics, GpPen *pen, REAL x1,
+    REAL y1, REAL x2, REAL y2)
+{
+    INT save_state;
+    GpPointF pt[2];
+    GpStatus retval;
+
+    if(!pen || !graphics)
+        return InvalidParameter;
+
+    pt[0].X = x1;
+    pt[0].Y = y1;
+    pt[1].X = x2;
+    pt[1].Y = y2;
+
+    save_state = prepare_dc(graphics, pen);
+
+    retval = draw_polyline(graphics, pen, pt, 2, TRUE);
+
+    restore_dc(graphics, save_state);
+
+    return retval;
+}
+
 GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics *graphics, GpPen *pen, INT x1,
     INT y1, INT x2, INT y2)
 {
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 9756403..25b9b1b 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -60,6 +60,7 @@ GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,RE
 GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics*,GpImage*,
     GDIPCONST GpPointF*,INT,REAL,REAL,REAL,REAL,GpUnit,
     GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*);
+GpStatus WINGDIPAPI GdipDrawLine(GpGraphics *graphics,GpPen*,REAL,REAL,REAL,REAL);
 GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics*,GpPen*,INT,INT,INT,INT);
 GpStatus WINGDIPAPI GdipDrawLines(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
 GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*);




More information about the wine-cvs mailing list