X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..74a8f67d96591cec101def2a7d47c64072aff7fd:/src/mgl/cursor.cpp diff --git a/src/mgl/cursor.cpp b/src/mgl/cursor.cpp index 2f7a8fdbf0..8832eff0e7 100644 --- a/src/mgl/cursor.cpp +++ b/src/mgl/cursor.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cursor.cpp +// Name: src/mgl/cursor.cpp // Purpose: // Author: Vaclav Slavik // Id: $Id$ @@ -15,11 +15,14 @@ #endif #include "wx/cursor.h" -#include "wx/module.h" -#include "wx/utils.h" -#include "wx/log.h" -#include "wx/intl.h" -#include "wx/hashmap.h" + +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/log.h" + #include "wx/utils.h" + #include "wx/hashmap.h" + #include "wx/module.h" +#endif #include "wx/mgl/private.h" @@ -33,14 +36,14 @@ class wxCursorRefData: public wxObjectRefData public: wxCursorRefData(); - ~wxCursorRefData(); + virtual ~wxCursorRefData(); MGLCursor *m_cursor; }; wxCursorRefData::wxCursorRefData() { - m_cursor = (MGLCursor*) NULL; + m_cursor = NULL; } wxCursorRefData::~wxCursorRefData() @@ -62,14 +65,14 @@ wxCursor::wxCursor() { } -wxCursor::wxCursor(int cursorId) +void wxCursor::InitFromStock(wxStockCursor cursorId) { if ( !gs_cursorsHash ) gs_cursorsHash = new wxCursorsHash; if ( gs_cursorsHash->find(cursorId) != gs_cursorsHash->end() ) { - wxLogTrace(_T("mglcursor"), _T("cursor id %i fetched from cache"), cursorId); + wxLogTrace(wxT("mglcursor"), wxT("cursor id %i fetched from cache"), cursorId); *this = (*gs_cursorsHash)[cursorId]; return; } @@ -109,13 +112,12 @@ wxCursor::wxCursor(int cursorId) case wxCURSOR_NONE: *this = wxNullCursor; return; - break; default: wxFAIL_MSG(wxT("unsupported cursor type")); break; } - + M_CURSORDATA->m_cursor = new MGLCursor(cursorname); // if we cannot load arrow cursor, use MGL's default arrow cursor: @@ -124,7 +126,7 @@ wxCursor::wxCursor(int cursorId) delete M_CURSORDATA->m_cursor; M_CURSORDATA->m_cursor = new MGLCursor(MGL_DEF_CURSOR); } - + if ( !M_CURSORDATA->m_cursor->valid() ) { wxLogError(_("Couldn't create cursor.")); @@ -133,26 +135,16 @@ wxCursor::wxCursor(int cursorId) else { (*gs_cursorsHash)[cursorId] = *this; - wxLogTrace(_T("mglcursor"), _T("cursor id %i added to cache (%s)"), + wxLogTrace(wxT("mglcursor"), wxT("cursor id %i added to cache (%s)"), cursorId, cursorname); } } -wxCursor::wxCursor(const char WXUNUSED(bits)[], - int WXUNUSED(width), - int WXUNUSED(height), - int WXUNUSED(hotSpotX), int WXUNUSED(hotSpotY), - const char WXUNUSED(maskBits)[], - wxColour * WXUNUSED(fg), wxColour * WXUNUSED(bg) ) -{ - //FIXME_MGL -} - wxCursor::wxCursor(const wxString& cursor_file, - long flags, - int hotSpotX, int hotSpotY) + wxBitmapType type, + int WXUNUSED(hotSpotX), int WXUNUSED(hotSpotY)) { - if ( flags == wxBITMAP_TYPE_CUR || flags == wxBITMAP_TYPE_CUR_RESOURCE ) + if ( type == wxBITMAP_TYPE_CUR || type == wxBITMAP_TYPE_CUR_RESOURCE ) { m_refData = new wxCursorRefData(); M_CURSORDATA->m_cursor = new MGLCursor(cursor_file.mb_str()); @@ -168,39 +160,11 @@ wxCursor::wxCursor(const wxString& cursor_file, } } -wxCursor::wxCursor(const wxCursor &cursor) -{ - Ref(cursor); -} - wxCursor::~wxCursor() { // wxObject unrefs data } -wxCursor& wxCursor::operator = (const wxCursor& cursor) -{ - if ( *this == cursor ) - return (*this); - Ref(cursor); - return *this; -} - -bool wxCursor::operator == (const wxCursor& cursor) const -{ - return (m_refData == cursor.m_refData); -} - -bool wxCursor::operator != (const wxCursor& cursor) const -{ - return (m_refData != cursor.m_refData); -} - -bool wxCursor::Ok() const -{ - return (m_refData != NULL); -} - MGLCursor *wxCursor::GetMGLCursor() const { return M_CURSORDATA->m_cursor; @@ -216,7 +180,7 @@ static wxCursor gs_globalCursor = wxNullCursor; void wxSetCursor(const wxCursor& cursor) { - if ( cursor.Ok() ) + if ( cursor.IsOk() ) { if ( g_winMng ) MGL_wmSetGlobalCursor(g_winMng, *cursor.GetMGLCursor()); @@ -226,7 +190,7 @@ void wxSetCursor(const wxCursor& cursor) { if ( g_winMng ) MGL_wmSetGlobalCursor(g_winMng, NULL); - gs_globalCursor = wxNullCursor; + gs_globalCursor = wxNullCursor; } } @@ -257,15 +221,15 @@ void wxEndBusyCursor() gs_savedCursor = wxNullCursor; } -void wxBeginBusyCursor(wxCursor *cursor) +void wxBeginBusyCursor(const wxCursor *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 = gs_globalCursor; - if ( cursor->Ok() ) + if ( cursor->IsOk() ) wxSetCursor(*cursor); else wxSetCursor(wxCursor(wxCURSOR_WAIT)); @@ -285,8 +249,8 @@ bool wxIsBusy() class wxCursorModule : public wxModule { public: - virtual bool OnInit() { return TRUE; } - + virtual bool OnInit() { return true; } + virtual void OnExit() { wxDELETE(gs_cursorsHash);