X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4ccf704abdadc917862b02480cf10679af32afd6..8397cab4dafee82a887785a80ab8f588a68d9f27:/include/wx/msw/cursor.h diff --git a/include/wx/msw/cursor.h b/include/wx/msw/cursor.h index e3b5d0cc79..1ff62a2011 100644 --- a/include/wx/msw/cursor.h +++ b/include/wx/msw/cursor.h @@ -12,70 +12,44 @@ #ifndef _WX_CURSOR_H_ #define _WX_CURSOR_H_ -#include "wx/image.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(); } +#include "wx/msw/gdiimage.h" - virtual void Free(); - - // 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 wxImage & image) ; + 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)