Dmitry Timoshkov : gdiplus: Implement GdipCreateMetafileFromFile.

Alexandre Julliard julliard at winehq.org
Mon Sep 12 10:14:09 CDT 2016


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Fri Sep  9 13:42:46 2016 -0500

gdiplus: Implement GdipCreateMetafileFromFile.

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, 16 insertions(+), 2 deletions(-)

diff --git a/dlls/gdiplus/metafile.c b/dlls/gdiplus/metafile.c
index d471a13..6d58170 100644
--- a/dlls/gdiplus/metafile.c
+++ b/dlls/gdiplus/metafile.c
@@ -1922,8 +1922,22 @@ GpStatus WINGDIPAPI GdipCreateMetafileFromWmfFile(GDIPCONST WCHAR *file,
 GpStatus WINGDIPAPI GdipCreateMetafileFromFile(GDIPCONST WCHAR *file,
     GpMetafile **metafile)
 {
-    FIXME("(%p, %p): stub\n", file, metafile);
-    return NotImplemented;
+    GpStatus status;
+    IStream *stream;
+
+    TRACE("(%p, %p)\n", file, metafile);
+
+    if (!file || !metafile) return InvalidParameter;
+
+    *metafile = NULL;
+
+    status = GdipCreateStreamOnFile(file, GENERIC_READ, &stream);
+    if (status == Ok)
+    {
+        status = GdipCreateMetafileFromStream(stream, metafile);
+        IStream_Release(stream);
+    }
+    return status;
 }
 
 GpStatus WINGDIPAPI GdipCreateMetafileFromStream(IStream *stream,




More information about the wine-cvs mailing list