]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/cursor.cpp
Use IsOk() instead of Ok()
[wxWidgets.git] / src / mac / carbon / cursor.cpp
index e8f64259474e6b51c9d6be7c30cd9f6b1bd6c799..7326c9ca8a07fc41cd990337f366ff323df0a674 100644 (file)
@@ -29,14 +29,23 @@ IMPLEMENT_DYNAMIC_CLASS(wxCursor, wxGDIObject)
 
 class WXDLLEXPORT wxCursorRefData: public wxGDIRefData
 {
-    friend class wxCursor;
-
-    DECLARE_NO_COPY_CLASS(wxCursorRefData)
-
 public:
     wxCursorRefData();
+    wxCursorRefData(const wxCursorRefData& cursor);
     virtual ~wxCursorRefData();
 
+    virtual bool IsOk() const
+    {
+        if ( m_hCursor != NULL )
+            return true;
+#if !wxMAC_USE_COCOA
+        if ( m_themeCursor != -1 )
+            return true;
+#endif
+
+        return false;
+    }
+
 protected:
 #if wxMAC_USE_COCOA
     WX_NSCursor m_hCursor;
@@ -47,6 +56,10 @@ protected:
     bool        m_isColorCursor;
     long        m_themeCursor;
 #endif
+
+    friend class wxCursor;
+
+    DECLARE_NO_ASSIGN_CLASS(wxCursorRefData)
 };
 
 #define M_CURSORDATA wx_static_cast(wxCursorRefData*, m_refData)
@@ -208,6 +221,21 @@ wxCursorRefData::wxCursorRefData()
 #endif
 }
 
+wxCursorRefData::wxCursorRefData(const wxCursorRefData& cursor)
+{
+    // FIXME: need to copy the cursor
+    m_hCursor = NULL;
+
+#if wxMAC_USE_COCOA
+    wxUnusedVar(cursor);
+#else
+    m_disposeHandle = false;
+    m_releaseHandle = false;
+    m_isColorCursor = cursor.m_isColorCursor;
+    m_themeCursor = cursor.m_themeCursor;
+#endif
+}
+
 wxCursorRefData::~wxCursorRefData()
 {
 #if wxMAC_USE_COCOA
@@ -258,6 +286,16 @@ wxCursor::wxCursor(char **bits)
     (void) CreateFromXpm((const char **)bits);
 }
 
+wxGDIRefData *wxCursor::CreateGDIRefData() const
+{
+    return new wxCursorRefData;
+}
+
+wxGDIRefData *wxCursor::CloneGDIRefData(const wxGDIRefData *data) const
+{
+    return new wxCursorRefData(*wx_static_cast(const wxCursorRefData *, data));
+}
+
 bool wxCursor::CreateFromXpm(const char **bits)
 {
 #if wxUSE_IMAGE
@@ -277,15 +315,6 @@ WXHCURSOR wxCursor::GetHCURSOR() const
     return (M_CURSORDATA ? M_CURSORDATA->m_hCursor : 0);
 }
 
-bool wxCursor::IsOk() const
-{
-#if wxMAC_USE_COCOA
-    return GetHCURSOR() != NULL;
-#else
-    return (m_refData != NULL && ( M_CURSORDATA->m_hCursor != NULL || M_CURSORDATA->m_themeCursor != -1 ) ) ;
-#endif
-}
-
 #if !wxMAC_USE_COCOA
 short GetCTabIndex( CTabHandle colors , RGBColor *col )
 {