X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6d167489bdf17d55d9bd11be834bc17277661063..7c11806499166993dffcbb99139d5b248a2c6c82:/include/wx/msw/cursor.h diff --git a/include/wx/msw/cursor.h b/include/wx/msw/cursor.h index 4e28fcc178..1ff62a2011 100644 --- a/include/wx/msw/cursor.h +++ b/include/wx/msw/cursor.h @@ -12,68 +12,44 @@ #ifndef _WX_CURSOR_H_ #define _WX_CURSOR_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "cursor.h" #endif -// compatible (even if incorrect) behaviour by default: derive wxCursor from -// wxBitmap -#ifndef wxICON_IS_BITMAP - #define wxICON_IS_BITMAP 1 -#endif - -#if wxICON_IS_BITMAP - #include "wx/bitmap.h" - - #define wxCursorRefDataBase wxBitmapRefData - #define wxCursorBase wxBitmap -#else - #include "wx/msw/gdiimage.h" - - #define wxCursorRefDataBase wxGDIImageRefData - #define wxCursorBase wxGDIImage -#endif - -class WXDLLEXPORT wxCursorRefData : public wxCursorRefDataBase -{ -public: - wxCursorRefData(); - virtual ~wxCursorRefData() { Free(); } - - virtual void Free(); +#include "wx/msw/gdiimage.h" - // for compatibility -public: - bool m_destroyCursor; -}; +class WXDLLEXPORT wxImage; // Cursor -class WXDLLEXPORT wxCursor : public wxCursorBase +class WXDLLEXPORT wxCursor : public wxGDIImage { public: + // constructors wxCursor(); - - // Copy constructors - wxCursor(const wxCursor& cursor) { Ref(cursor); } - + wxCursor(const wxCursor& cursor) : wxGDIImage(cursor) { Ref(cursor); } + wxCursor(const wxImage& image); wxCursor(const char bits[], int width, int height, int hotSpotX = -1, int hotSpotY = -1, const char maskBits[] = NULL); wxCursor(const wxString& name, long flags = wxBITMAP_TYPE_CUR_RESOURCE, int hotSpotX = 0, int hotSpotY = 0); - wxCursor(int cursor_type); + wxCursor(int idCursor); virtual ~wxCursor(); - wxCursor& operator = (const wxCursor& cursor) { if (*this == cursor) return (*this); Ref(cursor); return *this; } - bool operator == (const wxCursor& cursor) const { return m_refData == cursor.m_refData; } - bool operator != (const wxCursor& cursor) const { return m_refData != cursor.m_refData; } + wxCursor& operator=(const wxCursor& cursor) + { if (*this == cursor) return (*this); Ref(cursor); return *this; } + + bool operator==(const wxCursor& cursor) const; + bool operator!=(const wxCursor& cursor) const + { return !(*this == cursor); } + // implementation only void SetHCURSOR(WXHCURSOR cursor) { SetHandle((WXHANDLE)cursor); } WXHCURSOR GetHCURSOR() const { return (WXHCURSOR)GetHandle(); } protected: - virtual wxGDIImageRefData *CreateData() const { return new wxCursorRefData; } + virtual wxGDIImageRefData *CreateData() const; private: DECLARE_DYNAMIC_CLASS(wxCursor)