[4/8] gdiplus: added GdipDrawImagePointsRect stub

Evan Stade estade at gmail.com
Mon Jul 30 21:09:45 CDT 2007


Hi,

 dlls/gdiplus/gdiplus.spec |    2 +-
 dlls/gdiplus/graphics.c   |   16 ++++++++++++++++
 include/gdiplusflat.h     |    3 +++
 include/gdiplustypes.h    |    3 +++
 4 files changed, 23 insertions(+), 1 deletions(-)

-- 
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index a727ff3..d015c35 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -168,7 +168,7 @@
 @ stub GdipDrawImagePointRectI
 @ stub GdipDrawImagePoints
 @ stub GdipDrawImagePointsI
-@ stub GdipDrawImagePointsRect
+@ stdcall GdipDrawImagePointsRect(ptr ptr ptr long long long long long long ptr ptr ptr)
 @ stub GdipDrawImagePointsRectI
 @ stub GdipDrawImageRect
 @ stub GdipDrawImageRectI
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 048f715..ee42c02 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -1013,6 +1013,22 @@ GpStatus WINGDIPAPI GdipDrawCurve2(GpGra
     return retval;
 }
 
+GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics *graphics, GpImage *image,
+    GDIPCONST GpPointF *points, INT count, REAL srcx, REAL srcy, REAL srcwidth,
+    REAL srcheight, GpUnit srcUnit, GDIPCONST GpImageAttributes* imageAttributes,
+    DrawImageAbort callback, VOID * callbackData)
+{
+    static int calls;
+
+    if(!graphics || !image || !points || !imageAttributes)
+        return InvalidParameter;
+
+    if(!(calls++))
+        FIXME("not implemented\n");
+
+    return NotImplemented;
+}
+
 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 7e2a84d..e4c5ba0 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -56,6 +56,9 @@ GpStatus WINGDIPAPI GdipDrawArc(GpGraphi
 GpStatus WINGDIPAPI GdipDrawBezier(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,
     REAL,REAL,REAL);
 GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL);
+GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics*,GpImage*,
+    GDIPCONST GpPointF*,INT,REAL,REAL,REAL,REAL,GpUnit,
+    GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*);
 GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics*,GpPen*,INT,INT,INT,INT);
 GpStatus WINGDIPAPI GdipDrawLines(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
 GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*);
diff --git a/include/gdiplustypes.h b/include/gdiplustypes.h
index 426ab7a..c316073 100644
--- a/include/gdiplustypes.h
+++ b/include/gdiplustypes.h
@@ -21,6 +21,9 @@ #define _GDIPLUSTYPES_H
 
 typedef float REAL;
 
+typedef BOOL (CALLBACK * ImageAbort)(VOID *);
+typedef ImageAbort DrawImageAbort;
+
 enum Status{
     Ok                          = 0,
     GenericError                = 1,
-- 
1.4.1


More information about the wine-patches mailing list