Dmitry Timoshkov : gdiplus: Implement GdipCreateMetafileFromFile.
Module: wine Branch: master Commit: b1e77d3fc8cee25152309324aab632f9a9a3dcce URL: http://source.winehq.org/git/wine.git/?a=commit;h=b1e77d3fc8cee25152309324aa... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Fri Sep 9 13:42:46 2016 -0500 gdiplus: Implement GdipCreateMetafileFromFile. Signed-off-by: Vincent Povirk <vincent(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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,
participants (1)
-
Alexandre Julliard