Ken Thomases : winemac: Add clipboard formats which can or must be put on Mac pasteboard without transformation .
Alexandre Julliard
julliard at winehq.org
Thu Mar 14 14:55:05 CDT 2013
Module: wine
Branch: master
Commit: a8d55288de3add7e568d6177bd9dd6ed0c59cef7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a8d55288de3add7e568d6177bd9dd6ed0c59cef7
Author: Ken Thomases <ken at codeweavers.com>
Date: Wed Mar 13 16:52:31 2013 -0500
winemac: Add clipboard formats which can or must be put on Mac pasteboard without transformation.
---
dlls/winemac.drv/clipboard.c | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/dlls/winemac.drv/clipboard.c b/dlls/winemac.drv/clipboard.c
index 3e5e9b3..36e0759 100644
--- a/dlls/winemac.drv/clipboard.c
+++ b/dlls/winemac.drv/clipboard.c
@@ -141,6 +141,21 @@ static const struct
BOOL synthesized;
} builtin_format_ids[] =
{
+ { CF_DIBV5, CFSTR("org.winehq.builtin.dibv5"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_DIF, CFSTR("org.winehq.builtin.dif"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_DSPBITMAP, CFSTR("org.winehq.builtin.dspbitmap"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_DSPENHMETAFILE, CFSTR("org.winehq.builtin.dspenhmetafile"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_DSPMETAFILEPICT, CFSTR("org.winehq.builtin.dspmetafilepict"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_DSPTEXT, CFSTR("org.winehq.builtin.dsptext"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_LOCALE, CFSTR("org.winehq.builtin.locale"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_OWNERDISPLAY, CFSTR("org.winehq.builtin.ownerdisplay"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_PALETTE, CFSTR("org.winehq.builtin.palette"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_PENDATA, CFSTR("org.winehq.builtin.pendata"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_RIFF, CFSTR("org.winehq.builtin.riff"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_SYLK, CFSTR("org.winehq.builtin.sylk"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_TIFF, CFSTR("public.tiff"), import_clipboard_data, export_clipboard_data, FALSE },
+ { CF_WAVE, CFSTR("com.microsoft.waveform-audio"), import_clipboard_data, export_clipboard_data, FALSE },
+
{ CF_UNICODETEXT, CFSTR("org.winehq.builtin.unicodetext"), import_clipboard_data, export_clipboard_data, FALSE },
{ CF_TEXT, CFSTR("org.winehq.builtin.unicodetext"), import_unicodetext_to_text, NULL, TRUE },
{ CF_OEMTEXT, CFSTR("org.winehq.builtin.unicodetext"), import_unicodetext_to_oemtext, NULL, TRUE },
@@ -158,6 +173,24 @@ static const struct
{ CF_OEMTEXT, CFSTR("public.utf8-plain-text"), import_utf8_to_oemtext, export_oemtext_to_utf8, TRUE },
};
+static const WCHAR wszRichTextFormat[] = {'R','i','c','h',' ','T','e','x','t',' ','F','o','r','m','a','t',0};
+static const WCHAR wszGIF[] = {'G','I','F',0};
+static const WCHAR wszJFIF[] = {'J','F','I','F',0};
+static const WCHAR wszPNG[] = {'P','N','G',0};
+static const WCHAR wszHTMLFormat[] = {'H','T','M','L',' ','F','o','r','m','a','t',0};
+static const struct
+{
+ LPCWSTR name;
+ CFStringRef type;
+} builtin_format_names[] =
+{
+ { wszRichTextFormat, CFSTR("public.rtf") },
+ { wszGIF, CFSTR("com.compuserve.gif") },
+ { wszJFIF, CFSTR("public.jpeg") },
+ { wszPNG, CFSTR("public.png") },
+ { wszHTMLFormat, CFSTR("public.html") },
+};
+
/* The prefix prepended to an external Mac pasteboard type to make a Win32 clipboard format name. org.winehq.mac-type. */
static const WCHAR mac_type_name_prefix[] = {'o','r','g','.','w','i','n','e','h','q','.','m','a','c','-','t','y','p','e','.',0};
@@ -1224,6 +1257,11 @@ void macdrv_clipboard_process_attach(void)
format->synthesized = builtin_format_ids[i].synthesized;
list_add_tail(&format_list, &format->entry);
}
+
+ /* Register known mappings between Windows formats and Mac types */
+ for (i = 0; i < sizeof(builtin_format_names)/sizeof(builtin_format_names[0]); i++)
+ insert_clipboard_format(RegisterClipboardFormatW(builtin_format_names[i].name),
+ builtin_format_names[i].type);
}
More information about the wine-cvs
mailing list