Ken Thomases : winemac: Synthesize CF_ENHMETAFILE from CF_METAFILEPICT.
Alexandre Julliard
julliard at winehq.org
Fri Nov 22 10:23:06 CST 2013
Module: wine
Branch: master
Commit: 53089bff2e3bea3e2b8b3620031c860a946b56e9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=53089bff2e3bea3e2b8b3620031c860a946b56e9
Author: Ken Thomases <ken at codeweavers.com>
Date: Fri Nov 22 04:31:33 2013 -0600
winemac: Synthesize CF_ENHMETAFILE from CF_METAFILEPICT.
---
dlls/winemac.drv/clipboard.c | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/dlls/winemac.drv/clipboard.c b/dlls/winemac.drv/clipboard.c
index 71b9975..24a75b9 100644
--- a/dlls/winemac.drv/clipboard.c
+++ b/dlls/winemac.drv/clipboard.c
@@ -74,6 +74,7 @@ static HANDLE import_bmp_to_bitmap(CFDataRef data);
static HANDLE import_bmp_to_dib(CFDataRef data);
static HANDLE import_enhmetafile(CFDataRef data);
static HANDLE import_metafilepict(CFDataRef data);
+static HANDLE import_metafilepict_to_enhmetafile(CFDataRef data);
static HANDLE import_nsfilenames_to_hdrop(CFDataRef data);
static HANDLE import_oemtext_to_text(CFDataRef data);
static HANDLE import_oemtext_to_unicodetext(CFDataRef data);
@@ -200,7 +201,9 @@ static const struct
{ CF_HDROP, CFSTR("NSFilenamesPboardType"), import_nsfilenames_to_hdrop, export_hdrop_to_filenames, TRUE },
{ CF_ENHMETAFILE, CFSTR("org.winehq.builtin.enhmetafile"), import_enhmetafile, export_enhmetafile, FALSE },
- { CF_METAFILEPICT, CFSTR("org.winehq.builtin.metafilepict"), import_metafilepict, export_metafilepict, FALSE },
+
+ { CF_METAFILEPICT, CFSTR("org.winehq.builtin.metafilepict"), import_metafilepict, export_metafilepict, FALSE },
+ { CF_ENHMETAFILE, CFSTR("org.winehq.builtin.metafilepict"), import_metafilepict_to_enhmetafile, NULL, TRUE },
};
static const WCHAR wszRichTextFormat[] = {'R','i','c','h',' ','T','e','x','t',' ','F','o','r','m','a','t',0};
@@ -724,6 +727,29 @@ static HANDLE import_metafilepict(CFDataRef data)
/**************************************************************************
+ * import_metafilepict_to_enhmetafile
+ *
+ * Import metafile picture data, converting it to CF_ENHMETAFILE.
+ */
+static HANDLE import_metafilepict_to_enhmetafile(CFDataRef data)
+{
+ HANDLE ret = 0;
+ CFIndex len = CFDataGetLength(data);
+ const METAFILEPICT *mfp;
+
+ TRACE("data %s\n", debugstr_cf(data));
+
+ if (len >= sizeof(*mfp))
+ {
+ mfp = (const METAFILEPICT*)CFDataGetBytePtr(data);
+ ret = SetWinMetaFileBits(len - sizeof(*mfp), (const BYTE*)(mfp + 1), NULL, mfp);
+ }
+
+ return ret;
+}
+
+
+/**************************************************************************
* import_nsfilenames_to_hdrop
*
* Import NSFilenamesPboardType data, converting the property-list-
More information about the wine-cvs
mailing list