]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/clipbrd.cpp
add support for alpha in color dialog on OSX, see #14127
[wxWidgets.git] / src / os2 / clipbrd.cpp
index fc902957b47abe5835beda473bd4ba65758acb67..3803c01f09e30f94ed426692b71f2aca8714dd3a 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        clipbrd.cpp
+// Name:        src/os2/clipbrd.cpp
 // Purpose:     Clipboard functionality
 // Author:      David Webster
 // Modified by:
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#ifndef WX_PRECOMP
-    #include "wx/setup.h"
-#endif
-
 #if wxUSE_CLIPBOARD
 
+#include "wx/clipbrd.h"
+
 #ifndef WX_PRECOMP
     #include "wx/object.h"
     #include "wx/event.h"
     #include "wx/bitmap.h"
     #include "wx/utils.h"
     #include "wx/intl.h"
+    #include "wx/log.h"
+    #include "wx/dataobj.h"
 #endif
 
 #if wxUSE_METAFILE
     #include "wx/metafile.h"
 #endif
 
-#include "wx/log.h"
-#include "wx/clipbrd.h"
-
 #include <string.h>
 
 #include "wx/os2/private.h"
 
 // wxDataObject is tied to OLE/drag and drop implementation,
 // therefore so is wxClipboard :-(
-#if wxUSE_DRAG_AND_DROP
-    #include "wx/dataobj.h"
-
-    static bool wxSetClipboardData(wxDataObject *data);
-#endif
 
 // ===========================================================================
 // implementation
 // old-style clipboard functions using Windows API
 // ---------------------------------------------------------------------------
 
-static bool gs_wxClipboardIsOpen = FALSE;
+static bool gs_wxClipboardIsOpen = false;
 
 bool wxOpenClipboard()
 {
-    wxCHECK_MSG( !gs_wxClipboardIsOpen, TRUE, wxT("clipboard already opened.") );
+    wxCHECK_MSG( !gs_wxClipboardIsOpen, true, wxT("clipboard already opened.") );
 // TODO:
 /*
     wxWindow *win = wxTheApp->GetTopWindow();
@@ -68,35 +60,37 @@ bool wxOpenClipboard()
         gs_wxClipboardIsOpen = ::OpenClipboard((HWND)win->GetHWND()) != 0;
 
         if ( !gs_wxClipboardIsOpen )
+        {
             wxLogSysError(_("Failed to open the clipboard."));
+        }
 
         return gs_wxClipboardIsOpen;
     }
     else
     {
-        wxLogDebug(wxT("Can not open clipboard without a main window."));
+        wxLogDebug(wxT("Cannot open clipboard without a main window."));
 
-        return FALSE;
+        return false;
     }
 */
-    return FALSE;
+    return false;
 }
 
 bool wxCloseClipboard()
 {
-    wxCHECK_MSG( gs_wxClipboardIsOpen, FALSE, wxT("clipboard is not opened") );
+    wxCHECK_MSG( gs_wxClipboardIsOpen, false, wxT("clipboard is not opened") );
 // TODO:
 /*
-    gs_wxClipboardIsOpen = FALSE;
+    gs_wxClipboardIsOpen = false;
 
     if ( ::CloseClipboard() == 0 )
     {
         wxLogSysError(_("Failed to close the clipboard."));
 
-        return FALSE;
+        return false;
     }
 */
-    return TRUE;
+    return true;
 }
 
 bool wxEmptyClipboard()
@@ -107,10 +101,10 @@ bool wxEmptyClipboard()
     {
         wxLogSysError(_("Failed to empty the clipboard."));
 
-        return FALSE;
+        return false;
     }
 */
-    return TRUE;
+    return true;
 }
 
 bool wxIsClipboardOpened()
@@ -118,12 +112,13 @@ bool wxIsClipboardOpened()
   return gs_wxClipboardIsOpen;
 }
 
-bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat)
+bool wxIsClipboardFormatAvailable(wxDataFormat WXUNUSED(dataFormat))
 {
     // TODO: return ::IsClipboardFormatAvailable(dataFormat) != 0;
-    return FALSE;
+    return false;
 }
 
+#if 0
 #if wxUSE_DRAG_AND_DROP
 static bool wxSetClipboardData(wxDataObject *data)
 {
@@ -136,7 +131,7 @@ static bool wxSetClipboardData(wxDataObject *data)
         wxLogSysError(_("Failed to allocate %dKb of memory for clipboard "
                         "transfer."), size / 1024);
 
-        return FALSE;
+        return false;
     }
 
     LPVOID lpGlobalMemory = ::GlobalLock(hGlobal);
@@ -151,16 +146,17 @@ static bool wxSetClipboardData(wxDataObject *data)
         wxLogSysError(_("Failed to set clipboard data in format %s"),
                       wxDataObject::GetFormatName(format));
 
-        return FALSE;
+        return false;
     }
 */
-    return TRUE;
+    return true;
 }
 #endif // wxUSE_DRAG_AND_DROP
+#endif
 
-bool wxSetClipboardData(wxDataFormat dataFormat,
-                        const void *data,
-                        int width, int height)
+bool wxSetClipboardData(wxDataFormat WXUNUSED(dataFormat),
+                        const void *WXUNUSED(data),
+                        int WXUNUSED(width), int WXUNUSED(height))
 {
 // TODO:
 /*
@@ -183,7 +179,7 @@ bool wxSetClipboardData(wxDataFormat dataFormat,
                     SelectObject(hdcSrc, old);
                     DeleteDC(hdcMem);
                     DeleteDC(hdcSrc);
-                    return FALSE;
+                    return false;
                 }
 
                 HBITMAP old1 = (HBITMAP) SelectObject(hdcMem, hBitmap);
@@ -240,7 +236,7 @@ bool wxSetClipboardData(wxDataFormat dataFormat,
         default:
             {
                 wxLogError(_("Unsupported clipboard format."));
-                return FALSE;
+                return false;
             }
 
         case wxDF_OEMTEXT:
@@ -273,15 +269,15 @@ bool wxSetClipboardData(wxDataFormat dataFormat,
     {
         wxLogSysError(_("Failed to set clipboard data."));
 
-        return FALSE;
+        return false;
     }
 */
-    return TRUE;
+    return true;
 }
 
-void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
+void *wxGetClipboardData(wxDataFormat WXUNUSED(dataFormat), long *WXUNUSED(len))
 {
-    void *retval = NULL;
+//  void *retval = NULL;
 // TODO:
 /*
     switch ( dataFormat )
@@ -327,7 +323,7 @@ void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
                 wxBM->SetWidth(bm.bmWidth);
                 wxBM->SetHeight(bm.bmHeight);
                 wxBM->SetDepth(bm.bmPlanes);
-                wxBM->SetOk(TRUE);
+                wxBM->SetOk(true);
                 retval = wxBM;
                 break;
             }
@@ -340,7 +336,7 @@ void *wxGetClipboardData(wxDataFormat dataFormat, long *len)
         case wxDF_DIB:
             {
                 wxLogError(_("Unsupported clipboard format."));
-                return FALSE;
+                return NULL;
             }
 
         case wxDF_OEMTEXT:
@@ -412,15 +408,15 @@ wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat)
   return dataFormat;
 }
 
-int wxRegisterClipboardFormat(wxChar *formatName)
+int wxRegisterClipboardFormat(wxChar *WXUNUSED(formatName))
 {
   // TODO: return ::RegisterClipboardFormat(formatName);
   return 0;
 }
 
-bool wxGetClipboardFormatName(wxDataFormat dataFormat,
-                              wxChar *formatName,
-                              int maxCount)
+bool wxGetClipboardFormatName(wxDataFormat WXUNUSED(dataFormat),
+                              wxChar *WXUNUSED(formatName),
+                              int WXUNUSED(maxCount))
 {
   // TODO: return ::GetClipboardFormatName((int)dataFormat, formatName, maxCount) > 0;
   return 0;
@@ -448,7 +444,7 @@ void wxClipboard::Clear()
 bool wxClipboard::Flush()
 {
     // TODO:
-    return FALSE;
+    return false;
 }
 
 bool wxClipboard::Open()
@@ -461,7 +457,7 @@ bool wxClipboard::IsOpened() const
     return wxIsClipboardOpened();
 }
 
-bool wxClipboard::SetData( wxDataObject *data )
+bool wxClipboard::SetData( wxDataObject *WXUNUSED(data) )
 {
     (void)wxEmptyClipboard();
     // TODO:
@@ -469,19 +465,19 @@ bool wxClipboard::SetData( wxDataObject *data )
     if ( data )
         return AddData(data);
     else
-        return TRUE;
+        return true;
     */
-    return TRUE;
+    return true;
 }
 
 bool wxClipboard::AddData( wxDataObject *data )
 {
-    wxCHECK_MSG( data, FALSE, wxT("data is invalid") );
+    wxCHECK_MSG( data, false, wxT("data is invalid") );
 
 #if wxUSE_DRAG_AND_DROP
-    wxCHECK_MSG( wxIsClipboardOpened(), FALSE, wxT("clipboard not open") );
+    wxCHECK_MSG( wxIsClipboardOpened(), false, wxT("clipboard not open") );
 
-//    wxDataFormat format = data->GetFormat();
+//    wxDataFormat format = data->GetPreferredFormat();
 // TODO:
 /*
     switch ( format )
@@ -499,7 +495,7 @@ bool wxClipboard::AddData( wxDataObject *data )
         {
             wxBitmapDataObject* bitmapDataObject = (wxBitmapDataObject*) data;
             wxBitmap bitmap(bitmapDataObject->GetBitmap());
-            return wxSetClipboardData(data->GetFormat(), &bitmap);
+            return wxSetClipboardData(data->GetPreferredFormat(), &bitmap);
         }
 
 #if wxUSE_METAFILE
@@ -519,7 +515,9 @@ bool wxClipboard::AddData( wxDataObject *data )
     }
 #else // !wxUSE_DRAG_AND_DROP
 */
-    return FALSE;
+    return false;
+#else
+    return false;
 #endif // wxUSE_DRAG_AND_DROP/!wxUSE_DRAG_AND_DROP
 }
 
@@ -528,17 +526,17 @@ void wxClipboard::Close()
     wxCloseClipboard();
 }
 
-bool wxClipboard::IsSupported( wxDataFormat format )
+bool wxClipboard::IsSupported( const wxDataFormat& format )
 {
     return wxIsClipboardFormatAvailable(format);
 }
 
-bool wxClipboard::GetData( wxDataObject *data )
+bool wxClipboard::GetData( wxDataObject& WXUNUSED(data) )
 {
-    wxCHECK_MSG( wxIsClipboardOpened(), FALSE, wxT("clipboard not open") );
+    wxCHECK_MSG( wxIsClipboardOpened(), false, wxT("clipboard not open") );
 
 #if wxUSE_DRAG_AND_DROP
-//    wxDataFormat format = data->GetFormat();
+//    wxDataFormat format = data.GetPreferredFormat();
     // TODO:
 /*
     switch ( format )
@@ -546,45 +544,45 @@ bool wxClipboard::GetData( wxDataObject *data )
         case wxDF_TEXT:
         case wxDF_OEMTEXT:
         {
-            wxTextDataObject* textDataObject = (wxTextDataObject*) data;
+            wxTextDataObject& textDataObject = (wxTextDataObject&) data;
             char* s = (char*) wxGetClipboardData(format);
             if ( s )
             {
-                textDataObject->SetText(s);
+                textDataObject.SetText(s);
                 delete[] s;
-                return TRUE;
+                return true;
             }
             else
-                return FALSE;
+                return false;
         }
 
         case wxDF_BITMAP:
         case wxDF_DIB:
         {
-            wxBitmapDataObject* bitmapDataObject = (wxBitmapDataObject *)data;
-            wxBitmap* bitmap = (wxBitmap *)wxGetClipboardData(data->GetFormat());
+            wxBitmapDataObject& bitmapDataObject = (wxBitmapDataObject &)data;
+            wxBitmap* bitmap = (wxBitmap *)wxGetClipboardData(data->GetPreferredFormat());
             if (bitmap)
             {
-                bitmapDataObject->SetBitmap(* bitmap);
+                bitmapDataObject.SetBitmap(* bitmap);
                 delete bitmap;
-                return TRUE;
+                return true;
             }
             else
-                return FALSE;
+                return false;
         }
 #if wxUSE_METAFILE
         case wxDF_METAFILE:
         {
-            wxMetafileDataObject* metaFileDataObject = (wxMetafileDataObject *)data;
+            wxMetafileDataObject& metaFileDataObject = (wxMetafileDataObject &)data;
             wxMetafile* metaFile = (wxMetafile *)wxGetClipboardData(wxDF_METAFILE);
             if (metaFile)
             {
-                metaFileDataObject->SetMetafile(*metaFile);
+                metaFileDataObject.SetMetafile(*metaFile);
                 delete metaFile;
-                return TRUE;
+                return true;
             }
             else
-                return FALSE;
+                return false;
         }
 #endif
         default:
@@ -593,23 +591,22 @@ bool wxClipboard::GetData( wxDataObject *data )
                 void *buf = wxGetClipboardData(format, &len);
                 if ( buf )
                 {
-                    // FIXME this is for testing only!!
-                    ((wxPrivateDataObject *)data)->SetData(buf, len);
+                    // FIXME this is for testing only!
+                    ((wxPrivateDataObject &)data).SetData(buf, len);
                     free(buf);
 
-                    return TRUE;
+                    return true;
                 }
             }
 
-            return FALSE;
+            return false;
     }
 #else
 */
-    return FALSE;
+    return false;
+#else
+    return false;
 #endif
 }
 
-#else
-    #error "Please turn wxUSE_CLIPBOARD on to compile this file."
 #endif // wxUSE_CLIPBOARD
-