Dmitry Timoshkov : gdiplus: Implement GdipGetMetafileHeaderFromFile.

Alexandre Julliard julliard at winehq.org
Thu Sep 15 10:42:48 CDT 2016


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Wed Sep 14 14:57:02 2016 -0500

gdiplus: Implement GdipGetMetafileHeaderFromFile.

Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/gdiplus/metafile.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/dlls/gdiplus/metafile.c b/dlls/gdiplus/metafile.c
index adad4f9..c0e799c 100644
--- a/dlls/gdiplus/metafile.c
+++ b/dlls/gdiplus/metafile.c
@@ -1799,19 +1799,21 @@ GpStatus WINGDIPAPI GdipGetMetafileHeaderFromWmf(HMETAFILE hwmf,
 GpStatus WINGDIPAPI GdipGetMetafileHeaderFromFile(GDIPCONST WCHAR *filename,
     MetafileHeader *header)
 {
-    static int calls;
+    GpStatus status;
+    GpMetafile *metafile;
 
     TRACE("(%s,%p)\n", debugstr_w(filename), header);
 
-    if(!filename || !header)
+    if (!filename || !header)
         return InvalidParameter;
 
-    if(!(calls++))
-        FIXME("not implemented\n");
-
-    memset(header, 0, sizeof(MetafileHeader));
-
-    return Ok;
+    status = GdipCreateMetafileFromFile(filename, &metafile);
+    if (status == Ok)
+    {
+        status = GdipGetMetafileHeaderFromMetafile(metafile, header);
+        GdipDisposeImage(&metafile->image);
+    }
+    return status;
 }
 
 GpStatus WINGDIPAPI GdipGetMetafileHeaderFromStream(IStream *stream,




More information about the wine-cvs mailing list