Huw Davies : riched20: Add support for pasting EMFs.

Alexandre Julliard julliard at winehq.org
Wed Aug 23 19:54:07 CDT 2017


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

Author: Huw Davies <huw at codeweavers.com>
Date:   Mon Aug 21 12:31:51 2017 +0100

riched20: Add support for pasting EMFs.

Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/riched20/editor.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index b66d8e8..a7b1bc7 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -2241,6 +2241,23 @@ static HRESULT paste_text(ME_TextEditor *editor, FORMATETC *fmt, STGMEDIUM *med)
     return hr;
 }
 
+static HRESULT paste_emf(ME_TextEditor *editor, FORMATETC *fmt, STGMEDIUM *med)
+{
+    HRESULT hr;
+    SIZEL sz = {0, 0};
+
+    hr = insert_static_object( editor, med->u.hEnhMetaFile, NULL, &sz );
+    if (SUCCEEDED(hr))
+    {
+        ME_CommitUndo( editor );
+        ME_UpdateRepaint( editor, FALSE );
+    }
+    else
+        ReleaseStgMedium( med );
+
+    return hr;
+}
+
 static struct paste_format
 {
     FORMATETC fmt;
@@ -2250,6 +2267,7 @@ static struct paste_format
 {
     {{ -1,             NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }, paste_rtf, rtfW },
     {{ CF_UNICODETEXT, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }, paste_text },
+    {{ CF_ENHMETAFILE, NULL, DVASPECT_CONTENT, -1, TYMED_ENHMF },   paste_emf },
     {{ 0 }}
 };
 




More information about the wine-cvs mailing list