[PATCH 04/15] winemac: Remove support for converting among standard clipboard formats.

Ken Thomases ken at codeweavers.com
Sun Oct 23 13:03:23 CDT 2016


User32 handles that now.

Signed-off-by: Ken Thomases <ken at codeweavers.com>
---
 dlls/winemac.drv/clipboard.c | 231 +++----------------------------------------
 1 file changed, 16 insertions(+), 215 deletions(-)

diff --git a/dlls/winemac.drv/clipboard.c b/dlls/winemac.drv/clipboard.c
index 9b5490e..8737a56 100644
--- a/dlls/winemac.drv/clipboard.c
+++ b/dlls/winemac.drv/clipboard.c
@@ -73,18 +73,9 @@ typedef struct _WINE_CLIPFORMAT
 static HANDLE import_clipboard_data(CFDataRef data);
 static HANDLE import_bmp_to_bitmap(CFDataRef data);
 static HANDLE import_bmp_to_dib(CFDataRef data);
-static HANDLE import_dib_to_bitmap(CFDataRef data);
 static HANDLE import_enhmetafile(CFDataRef data);
-static HANDLE import_enhmetafile_to_metafilepict(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);
-static HANDLE import_text_to_oemtext(CFDataRef data);
-static HANDLE import_text_to_unicodetext(CFDataRef data);
-static HANDLE import_unicodetext_to_oemtext(CFDataRef data);
-static HANDLE import_unicodetext_to_text(CFDataRef data);
 static HANDLE import_utf8_to_oemtext(CFDataRef data);
 static HANDLE import_utf8_to_text(CFDataRef data);
 static HANDLE import_utf8_to_unicodetext(CFDataRef data);
@@ -94,7 +85,6 @@ static HANDLE import_utf16_to_unicodetext(CFDataRef data);
 
 static CFDataRef export_clipboard_data(HANDLE data);
 static CFDataRef export_bitmap_to_bmp(HANDLE data);
-static CFDataRef export_bitmap_to_dib(HANDLE data);
 static CFDataRef export_dib_to_bmp(HANDLE data);
 static CFDataRef export_enhmetafile(HANDLE data);
 static CFDataRef export_hdrop_to_filenames(HANDLE data);
@@ -161,7 +151,9 @@ static const struct
 } builtin_format_ids[] =
 {
     { CF_DIF,               CFSTR("org.winehq.builtin.dif"),                import_clipboard_data,          export_clipboard_data,      FALSE },
+    { CF_ENHMETAFILE,       CFSTR("org.winehq.builtin.enhmetafile"),        import_enhmetafile,             export_enhmetafile,         FALSE },
     { CF_LOCALE,            CFSTR("org.winehq.builtin.locale"),             import_clipboard_data,          export_clipboard_data,      FALSE },
+    { CF_METAFILEPICT,      CFSTR("org.winehq.builtin.metafilepict"),       import_metafilepict,            export_metafilepict,        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 },
@@ -169,50 +161,29 @@ static const struct
     { 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 },
-
-    { CF_TEXT,              CFSTR("org.winehq.builtin.text"),               import_clipboard_data,          export_clipboard_data,      FALSE },
-    { CF_OEMTEXT,           CFSTR("org.winehq.builtin.text"),               import_text_to_oemtext,         NULL,                       TRUE },
-    { CF_UNICODETEXT,       CFSTR("org.winehq.builtin.text"),               import_text_to_unicodetext,     NULL,                       TRUE },
-
-    { CF_OEMTEXT,           CFSTR("org.winehq.builtin.oemtext"),            import_clipboard_data,          export_clipboard_data,      FALSE },
-    { CF_TEXT,              CFSTR("org.winehq.builtin.oemtext"),            import_oemtext_to_text,         NULL,                       TRUE },
-    { CF_UNICODETEXT,       CFSTR("org.winehq.builtin.oemtext"),            import_oemtext_to_unicodetext,  NULL,                       TRUE },
-
-    { CF_TEXT,              CFSTR("public.utf8-plain-text"),                import_utf8_to_text,            export_text_to_utf8,        TRUE },
-    { CF_OEMTEXT,           CFSTR("public.utf8-plain-text"),                import_utf8_to_oemtext,         export_oemtext_to_utf8,     TRUE },
-    { CF_UNICODETEXT,       CFSTR("public.utf8-plain-text"),                import_utf8_to_unicodetext,     export_unicodetext_to_utf8, TRUE },
-
-    { CF_TEXT,              CFSTR("public.utf16-plain-text"),                import_utf16_to_text,          export_text_to_utf16,       TRUE },
-    { CF_OEMTEXT,           CFSTR("public.utf16-plain-text"),                import_utf16_to_oemtext,       export_oemtext_to_utf16,    TRUE },
-    { CF_UNICODETEXT,       CFSTR("public.utf16-plain-text"),                import_utf16_to_unicodetext,   export_unicodetext_to_utf16,TRUE },
-
     { CF_BITMAP,            CFSTR("org.winehq.builtin.bitmap"),             import_bmp_to_bitmap,           export_bitmap_to_bmp,       FALSE },
-    { CF_DIB,               CFSTR("org.winehq.builtin.bitmap"),             import_bmp_to_dib,              export_dib_to_bmp,          TRUE },
-    { CF_DIBV5,             CFSTR("org.winehq.builtin.bitmap"),             import_bmp_to_dib,              export_dib_to_bmp,          TRUE },
-
-    { CF_DIB,               CFSTR("org.winehq.builtin.dib"),                import_clipboard_data,          export_clipboard_data,      FALSE },
-    { CF_BITMAP,            CFSTR("org.winehq.builtin.dib"),                import_dib_to_bitmap,           export_bitmap_to_dib,       TRUE },
-    { CF_DIBV5,             CFSTR("org.winehq.builtin.dib"),                import_clipboard_data,          export_clipboard_data,      TRUE },
-
-    { CF_DIBV5,             CFSTR("org.winehq.builtin.dibv5"),              import_clipboard_data,          export_clipboard_data,      FALSE },
-    { CF_BITMAP,            CFSTR("org.winehq.builtin.dibv5"),              import_dib_to_bitmap,           export_bitmap_to_dib,       TRUE },
-    { CF_DIB,               CFSTR("org.winehq.builtin.dibv5"),              import_clipboard_data,          export_clipboard_data,      TRUE },
-
     { CF_BITMAP,            CFSTR("com.microsoft.bmp"),                     import_bmp_to_bitmap,           export_bitmap_to_bmp,       TRUE },
+
+    { CF_DIB,               CFSTR("org.winehq.builtin.dib"),                import_clipboard_data,          export_clipboard_data,      FALSE },
     { CF_DIB,               CFSTR("com.microsoft.bmp"),                     import_bmp_to_dib,              export_dib_to_bmp,          TRUE },
+
+    { CF_DIBV5,             CFSTR("org.winehq.builtin.dibv5"),              import_clipboard_data,          export_clipboard_data,      FALSE },
     { CF_DIBV5,             CFSTR("com.microsoft.bmp"),                     import_bmp_to_dib,              export_dib_to_bmp,          TRUE },
 
     { CF_HDROP,             CFSTR("org.winehq.builtin.hdrop"),              import_clipboard_data,          export_clipboard_data,      FALSE },
     { 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.enhmetafile"),        import_enhmetafile_to_metafilepict, NULL,                   TRUE },
+    { CF_OEMTEXT,           CFSTR("org.winehq.builtin.oemtext"),            import_clipboard_data,          export_clipboard_data,      FALSE },
+    { CF_OEMTEXT,           CFSTR("public.utf16-plain-text"),               import_utf16_to_oemtext,        export_oemtext_to_utf16,    TRUE },
+    { CF_OEMTEXT,           CFSTR("public.utf8-plain-text"),                import_utf8_to_oemtext,         export_oemtext_to_utf8,     TRUE },
 
-    { 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 },
+    { CF_TEXT,              CFSTR("org.winehq.builtin.text"),               import_clipboard_data,          export_clipboard_data,      FALSE },
+    { CF_TEXT,              CFSTR("public.utf16-plain-text"),               import_utf16_to_text,           export_text_to_utf16,       TRUE },
+    { CF_TEXT,              CFSTR("public.utf8-plain-text"),                import_utf8_to_text,            export_text_to_utf8,        TRUE },
+
+    { CF_UNICODETEXT,       CFSTR("org.winehq.builtin.unicodetext"),        import_clipboard_data,          export_clipboard_data,      FALSE },
+    { CF_UNICODETEXT,       CFSTR("public.utf16-plain-text"),               import_utf16_to_unicodetext,    export_unicodetext_to_utf16,TRUE },
+    { CF_UNICODETEXT,       CFSTR("public.utf8-plain-text"),                import_utf8_to_unicodetext,     export_unicodetext_to_utf8, TRUE },
 };
 
 static const WCHAR wszRichTextFormat[] = {'R','i','c','h',' ','T','e','x','t',' ','F','o','r','m','a','t',0};
@@ -727,24 +698,6 @@ static HANDLE import_bmp_to_dib(CFDataRef data)
 
 
 /**************************************************************************
- *              import_dib_to_bitmap
- *
- *  Import device-independent bitmap data, converting to CF_BITMAP format.
- */
-static HANDLE import_dib_to_bitmap(CFDataRef data)
-{
-    HANDLE ret;
-    HANDLE dib = import_clipboard_data(data);
-
-    ret = create_bitmap_from_dib(dib);
-
-    GlobalFree(dib);
-
-    return ret;
-}
-
-
-/**************************************************************************
  *              import_enhmetafile
  *
  *  Import enhanced metafile data, converting it to CF_ENHMETAFILE.
@@ -764,48 +717,6 @@ static HANDLE import_enhmetafile(CFDataRef data)
 
 
 /**************************************************************************
- *              import_enhmetafile_to_metafilepict
- *
- *  Import enhanced metafile data, converting it to CF_METAFILEPICT.
- */
-static HANDLE import_enhmetafile_to_metafilepict(CFDataRef data)
-{
-    HANDLE ret = 0, hmf;
-    HANDLE hemf;
-    METAFILEPICT *mfp;
-
-    if ((hmf = GlobalAlloc(GMEM_FIXED, sizeof(*mfp))) && (hemf = import_enhmetafile(data)))
-    {
-        ENHMETAHEADER header;
-        HDC hdc = CreateCompatibleDC(0);
-        unsigned int size = GetWinMetaFileBits(hemf, 0, NULL, MM_ISOTROPIC, hdc);
-        BYTE *bytes;
-
-        bytes = HeapAlloc(GetProcessHeap(), 0, size);
-        if (bytes && GetEnhMetaFileHeader(hemf, sizeof(header), &header) &&
-            GetWinMetaFileBits(hemf, size, bytes, MM_ISOTROPIC, hdc))
-        {
-            mfp = GlobalLock(hmf);
-            mfp->mm = MM_ISOTROPIC;
-            mfp->xExt = header.rclFrame.right - header.rclFrame.left;
-            mfp->yExt = header.rclFrame.bottom - header.rclFrame.top;
-            mfp->hMF = SetMetaFileBitsEx(size, bytes);
-            GlobalUnlock(hmf);
-
-            ret = hmf;
-        }
-
-        if (hdc) DeleteDC(hdc);
-        HeapFree(GetProcessHeap(), 0, bytes);
-        DeleteEnhMetaFile(hemf);
-    }
-
-    if (!ret) GlobalFree(hmf);
-    return ret;
-}
-
-
-/**************************************************************************
  *              import_metafilepict
  *
  *  Import metafile picture data, converting it to CF_METAFILEPICT.
@@ -833,29 +744,6 @@ 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-
@@ -974,72 +862,6 @@ done:
 
 
 /**************************************************************************
- *              import_oemtext_to_text
- *
- *  Import CF_OEMTEXT data, converting the string to CF_TEXT.
- */
-static HANDLE import_oemtext_to_text(CFDataRef data)
-{
-    return convert_text(CFDataGetBytePtr(data), CFDataGetLength(data), CP_OEMCP, CP_ACP);
-}
-
-
-/**************************************************************************
- *              import_oemtext_to_unicodetext
- *
- *  Import CF_OEMTEXT data, converting the string to CF_UNICODETEXT.
- */
-static HANDLE import_oemtext_to_unicodetext(CFDataRef data)
-{
-    return convert_text(CFDataGetBytePtr(data), CFDataGetLength(data), CP_OEMCP, -1);
-}
-
-
-/**************************************************************************
- *              import_text_to_oemtext
- *
- *  Import CF_TEXT data, converting the string to CF_OEMTEXT.
- */
-static HANDLE import_text_to_oemtext(CFDataRef data)
-{
-    return convert_text(CFDataGetBytePtr(data), CFDataGetLength(data), CP_ACP, CP_OEMCP);
-}
-
-
-/**************************************************************************
- *              import_text_to_unicodetext
- *
- *  Import CF_TEXT data, converting the string to CF_UNICODETEXT.
- */
-static HANDLE import_text_to_unicodetext(CFDataRef data)
-{
-    return convert_text(CFDataGetBytePtr(data), CFDataGetLength(data), CP_ACP, -1);
-}
-
-
-/**************************************************************************
- *              import_unicodetext_to_oemtext
- *
- *  Import a CF_UNICODETEXT string, converting the string to CF_OEMTEXT.
- */
-static HANDLE import_unicodetext_to_oemtext(CFDataRef data)
-{
-    return convert_text(CFDataGetBytePtr(data), CFDataGetLength(data), -1, CP_OEMCP);
-}
-
-
-/**************************************************************************
- *              import_unicodetext_to_text
- *
- *  Import a CF_UNICODETEXT string, converting the string to CF_TEXT.
- */
-static HANDLE import_unicodetext_to_text(CFDataRef data)
-{
-    return convert_text(CFDataGetBytePtr(data), CFDataGetLength(data), -1, CP_ACP);
-}
-
-
-/**************************************************************************
  *              import_utf8_to_oemtext
  *
  *  Import a UTF-8 string, converting the string to CF_OEMTEXT.
@@ -1242,27 +1064,6 @@ static CFDataRef export_bitmap_to_bmp(HANDLE data)
 
 
 /**************************************************************************
- *              export_bitmap_to_dib
- *
- *  Export CF_BITMAP to a raw packed device-independent bitmap.
- */
-static CFDataRef export_bitmap_to_dib(HANDLE data)
-{
-    CFDataRef ret = NULL;
-    HGLOBAL dib;
-
-    dib = create_dib_from_bitmap(data);
-    if (dib)
-    {
-        ret = export_clipboard_data(dib);
-        GlobalFree(dib);
-    }
-
-    return ret;
-}
-
-
-/**************************************************************************
  *              export_codepage_to_utf8
  *
  *  Export string data in a specified codepage to UTF-8.
-- 
2.8.2




More information about the wine-patches mailing list