]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gdiobj.h
copy the list in wxList::operator=(), for consistency with typed macro-based lists
[wxWidgets.git] / include / wx / gdiobj.h
index 39762ec74957333cc0c66b384e4277c057372d1c..2464f78827100ae008416589e4d498083f577750 100644 (file)
@@ -1,19 +1,51 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/gdiobj.h
+// Purpose:     wxGDIObject base header
+// Author:      Julian Smart
+// Modified by:
+// Created:
+// Copyright:   (c) Julian Smart
+// RCS-ID:      $Id$
+// Licence:     wxWindows Licence
+/////////////////////////////////////////////////////////////////////////////
+
 #ifndef _WX_GDIOBJ_H_BASE_
 #define _WX_GDIOBJ_H_BASE_
 
-#if defined(__WXMSW__)
-#include "wx/msw/gdiobj.h"
-#elif defined(__WXMOTIF__)
-#include "wx/motif/gdiobj.h"
-#elif defined(__WXGTK__)
-#include "wx/gtk/gdiobj.h"
-#elif defined(__WXQT__)
-#include "wx/qt/gdiobj.h"
-#elif defined(__WXMAC__)
-#include "wx/mac/gdiobj.h"
-#elif defined(__WXSTUBS__)
-#include "wx/stubs/gdiobj.h"
-#endif
+#include "wx/object.h"
+
+// ----------------------------------------------------------------------------
+// wxGDIRefData is the base class for wxXXXData structures which contain the
+// real data for the GDI object and are shared among all wxWin objects sharing
+// the same native GDI object
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_FWD_CORE wxGDIRefData: public wxObjectRefData { };
+
+// ----------------------------------------------------------------------------
+// wxGDIObject
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxGDIObject: public wxObject
+{
+public:
+    bool IsNull() const { return m_refData == NULL; }
+
+#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXPALMOS__)
+    // Creates the resource
+    virtual bool RealizeResource() { return false; }
+
+    // Frees the resource
+    virtual bool FreeResource(bool WXUNUSED(force) = false) { return false; }
+
+    virtual bool IsFree() const { return false; }
+
+    // Returns handle.
+    virtual WXHANDLE GetResourceHandle() const { return 0; }
+#endif // defined(__WXMSW__) || defined(__WXPM__)
+
+    DECLARE_DYNAMIC_CLASS(wxGDIObject)
+};
 
 #endif
     // _WX_GDIOBJ_H_BASE_