]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/cursor.h
Use (newly) added wxStaticCastVariantData() to fix wxNO_RTTI build.
[wxWidgets.git] / include / wx / gtk / cursor.h
index b760e0b512225b0369ded079c954a25cc1b75881..533dc498478bbf7b825800cd4da4b1f588fc5dc6 100644 (file)
@@ -1,61 +1,60 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        cursor.h
+// Name:        wx/gtk/cursor.h
 // Purpose:
 // Author:      Robert Roebling
-// Created:     01/02/97
-// Id:
-// Copyright:   (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
-// Licence:    wxWindows licence
+// Id:          $Id$
+// Copyright:   (c) 1998 Robert Roebling
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+#ifndef _WX_GTK_CURSOR_H_
+#define _WX_GTK_CURSOR_H_
 
-#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;
+class WXDLLIMPEXP_FWD_CORE wxColour;
+class WXDLLIMPEXP_FWD_CORE wxImage;
 
 //-----------------------------------------------------------------------------
 // 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 );
+    wxCursor(const wxString& name,
+             wxBitmapType type = wxCURSOR_DEFAULT_TYPE,
+             int hotSpotX = 0, int hotSpotY = 0);
+#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);
+    virtual ~wxCursor();
+
+    // implementation
+
+    GdkCursor *GetCursor() const;
+
+protected:
+    void InitFromStock(wxStockCursor);
+#if wxUSE_IMAGE
+    void InitFromImage(const wxImage& image);
+#endif
+
+    virtual wxGDIRefData *CreateGDIRefData() const;
+    virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
+
+private:
+    DECLARE_DYNAMIC_CLASS(wxCursor)
 };
 
-#endif // __GTKCURSORH__
+#endif // _WX_GTK_CURSOR_H_