- // for bitmaps, DIBs will also do
- return (::IsClipboardFormatAvailable(dataFormat) != 0) ||
- (dataFormat.GetFormatId() == CF_BITMAP &&
- ::IsClipboardFormatAvailable(CF_DIB));
+ if ( ::IsClipboardFormatAvailable(dataFormat) )
+ {
+ // ok from the first try
+ return TRUE;
+ }
+
+ // for several standard formats, we can convert from some other ones too
+ switch ( dataFormat.GetFormatId() )
+ {
+ // for bitmaps, DIBs will also do
+ case CF_BITMAP:
+ return ::IsClipboardFormatAvailable(CF_DIB) != 0;
+
+#if wxUSE_ENH_METAFILE
+ case CF_METAFILEPICT:
+ return ::IsClipboardFormatAvailable(CF_ENHMETAFILE) != 0;
+#endif // wxUSE_ENH_METAFILE
+
+ default:
+ return FALSE;
+ }