[9/9] gdiplus: added GdipConvertToEmfPlus stub

Evan Stade estade at gmail.com
Thu Aug 9 20:25:37 CDT 2007


Hi,

 dlls/gdiplus/gdiplus.spec |    2 +-
 dlls/gdiplus/image.c      |   18 ++++++++++++++++++
 include/gdiplusenums.h    |    8 ++++++++
 include/gdiplusflat.h     |    2 ++
 4 files changed, 29 insertions(+), 1 deletions(-)

-- 
Evan Stade
-------------- next part --------------
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 3f2ceea..1f69314 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -66,7 +66,7 @@
 @ stub GdipCombineRegionRectI
 @ stub GdipCombineRegionRegion
 @ stub GdipComment
-@ stub GdipConvertToEmfPlus
+@ stdcall GdipConvertToEmfPlus(ptr ptr ptr long ptr ptr)
 @ stub GdipConvertToEmfPlusToFile
 @ stub GdipConvertToEmfPlusToStream
 @ stub GdipCreateAdjustableArrowCap
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
index 633b225..d5780bf 100644
--- a/dlls/gdiplus/image.c
+++ b/dlls/gdiplus/image.c
@@ -255,6 +255,24 @@ GpStatus WINGDIPAPI GdipCreateBitmapFrom
     return stat;
 }
 
+GpStatus WINGDIPAPI GdipConvertToEmfPlus(const GpGraphics* ref,
+    GpMetafile* metafile, BOOL* succ, EmfType emfType,
+    const WCHAR* description, GpMetafile** out_metafile)
+{
+    static int calls;
+
+    if(!ref || !metafile || !out_metafile)
+        return InvalidParameter;
+
+    *succ = FALSE;
+    *out_metafile = NULL;
+
+    if(!(calls++))
+        FIXME("not implemented\n");
+
+    return NotImplemented;
+}
+
 /* FIXME: this should create a bitmap in the given size with the attributes
  * (resolution etc.) of the graphics object */
 GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT width, INT height,
diff --git a/include/gdiplusenums.h b/include/gdiplusenums.h
index a2fe1fb..7d71b6d 100644
--- a/include/gdiplusenums.h
+++ b/include/gdiplusenums.h
@@ -191,6 +191,13 @@ enum LinearGradientMode
     LinearGradientModeBackwardDiagonal
 };
 
+enum EmfType
+{
+    EmfTypeEmfOnly     = MetafileTypeEmf,
+    EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
+    EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
+};
+
 #ifndef __cplusplus
 
 typedef enum Unit Unit;
@@ -211,6 +218,7 @@ typedef enum ImageType ImageType;
 typedef enum WrapMode WrapMode;
 typedef enum MetafileType MetafileType;
 typedef enum LinearGradientMode LinearGradientMode;
+typedef enum EmfType EmfType;
 
 #endif /* end of c typedefs */
 
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 61d2e6d..6b45368 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -191,6 +191,8 @@ GpStatus WINGDIPAPI GdipSetCustomLineCap
 GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap*,INT,INT,ARGB*);
 GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap*,GDIPCONST GpRect*,UINT,
     PixelFormat,BitmapData*);
+GpStatus WINGDIPAPI GdipConvertToEmfPlus(const GpGraphics*,GpMetafile*,BOOL*,
+    EmfType,const WCHAR*,GpMetafile**);
 GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR*,GpBitmap**);
 GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT,INT,GpGraphics*,GpBitmap**);
 GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT,INT,INT,PixelFormat,BYTE*,
-- 
1.4.1


More information about the wine-patches mailing list