X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/defdd888002f2dabf2228a4e4b58d4e7a0b56eda..cc4d5638c66a409e421420ed7110917755a66788:/src/gtk1/cursor.cpp diff --git a/src/gtk1/cursor.cpp b/src/gtk1/cursor.cpp index f277f4b0c9..4e76f07153 100644 --- a/src/gtk1/cursor.cpp +++ b/src/gtk1/cursor.cpp @@ -1,8 +1,7 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cursor.cpp +// Name: src/gtk1/cursor.cpp // Purpose: // Author: Robert Roebling -// Id: $Id$ // Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -11,8 +10,11 @@ #include "wx/wxprec.h" #include "wx/cursor.h" -#include "wx/utils.h" -#include "wx/app.h" + +#ifndef WX_PRECOMP + #include "wx/app.h" + #include "wx/utils.h" +#endif // WX_PRECOMP #include #include @@ -28,19 +30,23 @@ extern bool g_isIdle; // wxCursor //----------------------------------------------------------------------------- -class wxCursorRefData: public wxObjectRefData +class wxCursorRefData : public wxGDIRefData { - public: - +public: wxCursorRefData(); - ~wxCursorRefData(); + virtual ~wxCursorRefData(); GdkCursor *m_cursor; + +private: + // There is no way to copy m_cursor so we can't implement a copy ctor + // properly. + wxDECLARE_NO_COPY_CLASS(wxCursorRefData); }; wxCursorRefData::wxCursorRefData() { - m_cursor = (GdkCursor *) NULL; + m_cursor = NULL; } wxCursorRefData::~wxCursorRefData() @@ -59,7 +65,7 @@ wxCursor::wxCursor() } -wxCursor::wxCursor( int cursorId ) +void wxCursor::InitFromStock( wxStockCursor cursorId ) { m_refData = new wxCursorRefData(); @@ -128,7 +134,7 @@ extern GtkWidget *wxGetRootWindow(); wxCursor::wxCursor(const char bits[], int width, int height, int hotSpotX, int hotSpotY, - const char maskBits[], wxColour *fg, wxColour *bg) + const char maskBits[], const wxColour *fg, const wxColour *bg) { if (!maskBits) maskBits = bits; @@ -153,13 +159,6 @@ wxCursor::wxCursor(const char bits[], int width, int height, gdk_bitmap_unref( mask ); } - -wxCursor::wxCursor( const wxCursor &cursor ) - : wxObject() -{ - Ref( cursor ); -} - #if wxUSE_IMAGE wxCursor::wxCursor( const wxImage & image ) @@ -320,34 +319,22 @@ wxCursor::~wxCursor() { } -wxCursor& wxCursor::operator = ( const wxCursor& cursor ) -{ - if (*this == cursor) - return (*this); - - Ref( cursor ); - - return *this; -} - -bool wxCursor::operator == ( const wxCursor& cursor ) const +GdkCursor *wxCursor::GetCursor() const { - return m_refData == cursor.m_refData; + return M_CURSORDATA->m_cursor; } -bool wxCursor::operator != ( const wxCursor& cursor ) const +wxGDIRefData *wxCursor::CreateGDIRefData() const { - return m_refData != cursor.m_refData; + return new wxCursorRefData; } -bool wxCursor::Ok() const +wxGDIRefData * +wxCursor::CloneGDIRefData(const wxGDIRefData * WXUNUSED(data)) const { - return (m_refData != NULL); -} + wxFAIL_MSG( wxS("Cloning cursors is not implemented in wxGTK.") ); -GdkCursor *wxCursor::GetCursor() const -{ - return M_CURSORDATA->m_cursor; + return new wxCursorRefData; } //----------------------------------------------------------------------------- @@ -381,12 +368,12 @@ void wxEndBusyCursor() wxTheApp->ProcessIdle(); } -void wxBeginBusyCursor( wxCursor *WXUNUSED(cursor) ) +void wxBeginBusyCursor( const wxCursor *WXUNUSED(cursor) ) { if (gs_busyCount++ > 0) return; - wxASSERT_MSG( !gs_savedCursor.Ok(), + wxASSERT_MSG( !gs_savedCursor.IsOk(), wxT("forgot to call wxEndBusyCursor, will leak memory") ); gs_savedCursor = g_globalCursor;