From f8b2b77f69bad9d45f3648519d3ed95ab72c9ee8 Mon Sep 17 00:00:00 2001 From: Evan Stade Date: Thu, 9 Aug 2007 18:25:37 -0700 Subject: [PATCH] gdiplus: Added GdipConvertToEmfPlus stub. --- dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/image.c | 18 ++++++++++++++++++ include/gdiplusenums.h | 8 ++++++++ include/gdiplusflat.h | 2 ++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index 3f2ceea6445..1f69314e6ad 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 633b2257cad..d5780bf7f31 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -255,6 +255,24 @@ GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR* filename, 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 a2fe1fb27a8..7d71b6d5f5d 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 61d2e6df58a..6b45368b241 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -191,6 +191,8 @@ GpStatus WINGDIPAPI GdipSetCustomLineCapStrokeCaps(GpCustomLineCap*,GpLineCap, 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*,