]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/cursor.cpp
Hack compilation using the latest MinGW release.
[wxWidgets.git] / src / osx / carbon / cursor.cpp
index 6cfcea37040646f28084eae28d1a83b05a190039..34afa0c00c4fda9ee7220c917a7cd58e092132b0 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
-// RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -66,7 +65,7 @@ protected:
 
     friend class wxCursor;
 
-    DECLARE_NO_ASSIGN_CLASS(wxCursorRefData)
+    wxDECLARE_NO_ASSIGN_CLASS(wxCursorRefData);
 };
 
 #define M_CURSORDATA static_cast<wxCursorRefData*>(m_refData)
@@ -196,6 +195,14 @@ ClassicCursor gMacCursors[kwxCursorLast+1] =
 {0x000A, 0x0006}
 },
 
+{
+{0x07E0, 0x07E0, 0x07E0, 0x07E0, 0x0810, 0x1088, 0x1088, 0x1088,
+0x1388, 0x1008, 0x1008, 0x0810, 0x07E0, 0x07E0, 0x07E0, 0x07E0},
+{0x07E0, 0x07E0, 0x07E0, 0x07E0, 0x0FF0, 0x1FF8, 0x1FF8, 0x1FF8,
+0x1FF8, 0x1FF8, 0x1FF8, 0x0FF0, 0x07E0, 0x07E0, 0x07E0, 0x07E0},
+{0x0008, 0x0008}
+},
+    
 };
 
 #endif
@@ -231,14 +238,14 @@ wxCursorRefData::wxCursorRefData()
 #endif
 }
 
-wxCursorRefData::wxCursorRefData(const wxCursorRefData& cursor)
+wxCursorRefData::wxCursorRefData(const wxCursorRefData& cursor) : wxGDIRefData()
 {
-    // FIXME: need to copy the cursor
     m_hCursor = NULL;
 
 #if wxOSX_USE_COCOA
-    wxUnusedVar(cursor);
+    m_hCursor = (WX_NSCursor) wxMacCocoaRetain(cursor.m_hCursor);
 #elif wxOSX_USE_CARBON
+    // FIXME: need to copy the cursor
     m_disposeHandle = false;
     m_releaseHandle = false;
     m_isColorCursor = cursor.m_isColorCursor;
@@ -281,11 +288,6 @@ wxCursor::wxCursor( const wxImage &image )
 #endif
 }
 
-wxCursor::wxCursor(const char* const* bits)
-{
-    (void) CreateFromXpm(bits);
-}
-
 wxGDIRefData *wxCursor::CreateGDIRefData() const
 {
     return new wxCursorRefData;
@@ -296,20 +298,6 @@ wxGDIRefData *wxCursor::CloneGDIRefData(const wxGDIRefData *data) const
     return new wxCursorRefData(*static_cast<const wxCursorRefData *>(data));
 }
 
-bool wxCursor::CreateFromXpm(const char* const* bits)
-{
-#if wxUSE_IMAGE
-    wxCHECK_MSG( bits != NULL, false, wxT("invalid cursor data") );
-    wxXPMDecoder decoder;
-    wxImage img = decoder.ReadData(bits);
-    wxCHECK_MSG( img.Ok(), false, wxT("invalid cursor data") );
-    CreateFromImage( img ) ;
-    return true;
-#else
-    return false;
-#endif
-}
-
 WXHCURSOR wxCursor::GetHCURSOR() const
 {
     return (M_CURSORDATA ? M_CURSORDATA->m_hCursor : 0);
@@ -538,7 +526,7 @@ wxCursor::wxCursor(const wxString& cursor_file, wxBitmapType flags, int hotSpotX
 #if wxUSE_IMAGE
         wxImage image ;
         image.LoadFile( cursor_file, flags ) ;
-        if ( image.Ok() )
+        if ( image.IsOk() )
         {
             image.SetOption( wxIMAGE_OPTION_CUR_HOTSPOT_X, hotSpotX ) ;
             image.SetOption( wxIMAGE_OPTION_CUR_HOTSPOT_Y, hotSpotY ) ;
@@ -647,6 +635,14 @@ void wxCursor::InitFromStock(wxStockCursor cursor_type)
         M_CURSORDATA->m_hCursor = wxGetStockCursor(kwxCursorRoller);
         break;
 
+    case wxCURSOR_OPEN_HAND:
+        M_CURSORDATA->m_themeCursor = kThemeOpenHandCursor;
+        break;
+
+    case wxCURSOR_CLOSED_HAND:
+        M_CURSORDATA->m_themeCursor = kThemeClosedHandCursor;
+        break;
+
     case wxCURSOR_CHAR:
     case wxCURSOR_ARROW:
     case wxCURSOR_LEFT_BUTTON: