/////////////////////////////////////////////////////////////////////////////
-// Name: cursor.h
+// Name: wx/gtk1/cursor.h
// Purpose:
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
#ifndef __GTKCURSORH__
#define __GTKCURSORH__
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/defs.h"
-#include "wx/object.h"
+#include "wx/gdiobj.h"
#include "wx/gdicmn.h"
-//-----------------------------------------------------------------------------
-// classes
-//-----------------------------------------------------------------------------
-
-class wxWindow;
-
-class wxCursor;
+#if wxUSE_IMAGE
+#include "wx/image.h"
+#endif
//-----------------------------------------------------------------------------
// wxCursor
//-----------------------------------------------------------------------------
-class wxCursor: public wxObject
+class WXDLLIMPEXP_CORE wxCursor : public wxGDIObject
{
- DECLARE_DYNAMIC_CLASS(wxCursor)
-
- public:
-
- wxCursor(void);
- wxCursor( int cursorId );
- wxCursor( const wxCursor &cursor );
- wxCursor( const wxCursor *cursor );
- ~wxCursor(void);
- wxCursor& operator = ( const wxCursor& cursor );
- bool operator == ( const wxCursor& cursor );
- bool operator != ( const wxCursor& cursor );
- bool Ok(void) const;
-
- private:
- public:
-
- friend wxWindow;
-
- GdkCursor *GetCursor(void) const;
-
- // no data :-)
+public:
+ wxCursor();
+ wxCursor(wxStockCursor id) { InitFromStock(id); }
+#if WXWIN_COMPATIBILITY_2_8
+ wxCursor(int id) { InitFromStock((wxStockCursor)id); }
+#endif
+#if wxUSE_IMAGE
+ wxCursor( const wxImage & image );
+#endif
+ wxCursor( const char bits[], int width, int height,
+ int hotSpotX=-1, int hotSpotY=-1,
+ const char maskBits[] = NULL,
+ const wxColour* fg = NULL, const wxColour* bg = NULL);
+
+ /* WARNING: the following ctor is missing:
+
+ wxCursor(const wxString& name,
+ wxBitmapType type = wxCURSOR_DEFAULT_TYPE,
+ int hotSpotX = 0, int hotSpotY = 0);
+ */
+
+ virtual ~wxCursor();
+
+ // implementation
+
+ GdkCursor *GetCursor() const;
+
+protected:
+ void InitFromStock(wxStockCursor);
+
+ virtual wxGDIRefData *CreateGDIRefData() const;
+ virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxCursor)
};
#endif // __GTKCURSORH__