X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8f884a0dccd6b642f35c441ac9bfc87a6d5b4d35..3f7564f229450a9c036141878ee75cc09078a945:/src/motif/cursor.cpp diff --git a/src/motif/cursor.cpp b/src/motif/cursor.cpp index 134c7e9596..56b1b840ca 100644 --- a/src/motif/cursor.cpp +++ b/src/motif/cursor.cpp @@ -23,6 +23,7 @@ #include "wx/utils.h" #include "wx/window.h" #include "wx/image.h" + #include "wx/log.h" #endif #ifdef __VMS__ @@ -58,6 +59,11 @@ public: wxXCursorList m_cursors; // wxXCursor objects, one per display wxStockCursor m_cursorId; // wxWidgets standard cursor id +private: + // There is no way to copy m_cursor so we can't implement a copy ctor + // properly. + wxDECLARE_NO_COPY_CLASS(wxCursorRefData); + friend class wxCursor; }; @@ -239,16 +245,20 @@ void wxCursor::Create(WXPixmap pixmap, WXPixmap mask_pixmap, } wxCursor::wxCursor(const char bits[], int width, int height, - int hotSpotX, int hotSpotY, const char maskBits[]) + int hotSpotX, int hotSpotY, const char maskBits[] , + const wxColour* WXUNUSED(fg), const wxColour* WXUNUSED(bg) ) { Create(bits, width, height, hotSpotX, hotSpotY, maskBits); } -wxCursor::wxCursor(const wxString& name, long flags, int hotSpotX, int hotSpotY) +wxCursor::wxCursor(const wxString& name, wxBitmapType type, + int hotSpotX, int hotSpotY) { // Must be an XBM file - if (flags != wxBITMAP_TYPE_XBM) + if (type != wxBITMAP_TYPE_XBM) { + wxLogError("Invalid cursor bitmap type '%d'", type); return; + } m_refData = new wxCursorRefData; @@ -284,7 +294,7 @@ wxCursor::wxCursor(const wxString& name, long flags, int hotSpotX, int hotSpotY) } // Cursors by stock number -wxCursor::wxCursor(wxStockCursor id) +void wxCursor::InitFromStock(wxStockCursor id) { m_refData = new wxCursorRefData; M_CURSORDATA->m_cursorId = id; @@ -299,9 +309,12 @@ wxGDIRefData *wxCursor::CreateGDIRefData() const return new wxCursorRefData; } -wxGDIRefData *wxCursor::CloneGDIRefData(const wxGDIRefData *data) const +wxGDIRefData * +wxCursor::CloneGDIRefData(const wxGDIRefData * WXUNUSED(data)) const { - return new wxCursorRefData(*wx_static_cast(const wxCursorRefData *, data)); + wxFAIL_MSG( wxS("Cloning cursors is not implemented in wxMotif.") ); + + return new wxCursorRefData; } // Motif-specific: create/get a cursor for the current display @@ -453,7 +466,7 @@ wxXSetBusyCursor (wxWindow * win, const wxCursor * cursor) else { // Restore old cursor - if (win->GetCursor().Ok()) + if (win->GetCursor().IsOk()) attrs.cursor = (Cursor) win->GetCursor().GetXCursor(display); else attrs.cursor = None;