1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/cocoa/cursor.h
3 // Purpose: wxCursor class
4 // Author: David Elliott <dfe@cox.net>
7 // Copyright: (c) David Elliott
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_COCOA_CURSOR_H_
12 #define _WX_COCOA_CURSOR_H_
14 #include "wx/bitmap.h"
16 class WXDLLIMPEXP_CORE wxCursorRefData
: public wxGDIRefData
20 virtual ~wxCursorRefData();
23 int m_width
, m_height
;
24 WX_NSCursor m_hCursor
;
26 friend class WXDLLIMPEXP_FWD_CORE wxBitmap
;
27 friend class WXDLLIMPEXP_FWD_CORE wxCursor
;
29 wxDECLARE_NO_COPY_CLASS(wxCursorRefData
);
32 #define M_CURSORDATA ((wxCursorRefData *)m_refData)
33 #define M_CURSORHANDLERDATA ((wxCursorRefData *)bitmap->m_refData)
36 class WXDLLIMPEXP_CORE wxCursor
: public wxBitmap
41 wxCursor(const wxString
& name
, wxBitmapType type
= wxCURSOR_DEFAULT_TYPE
,
42 int hotSpotX
= 0, int hotSpotY
= 0);
44 wxCursor(wxStockCursor id
) { InitFromStock(id
); }
45 #if WXWIN_COMPATIBILITY_2_8
46 wxCursor(int id
) { InitFromStock((wxStockCursor
)id
); }
50 // FIXME: operator==() is wrong!
51 bool operator==(const wxCursor
& cursor
) const { return m_refData
== cursor
.m_refData
; }
52 bool operator!=(const wxCursor
& cursor
) const { return !(*this == cursor
); }
54 WX_NSCursor
GetNSCursor() const { return M_CURSORDATA
? M_CURSORDATA
->m_hCursor
: 0; }
57 void InitFromStock(wxStockCursor
);
58 DECLARE_DYNAMIC_CLASS(wxCursor
)
61 extern WXDLLIMPEXP_CORE
void wxSetCursor(const wxCursor
& cursor
);
64 // _WX_COCOA_CURSOR_H_