]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/gdiobj.h
wxMenu::Insert() seems to work, bug in wxMenuBase::Insert() is corrected
[wxWidgets.git] / include / wx / msw / gdiobj.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/gdiobj.h
3 // Purpose: wxGDIObject class: base class for other GDI classes
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_GDIOBJ_H_
13 #define _WX_GDIOBJ_H_
14
15 #ifdef __GNUG__
16 #pragma interface "gdiobj.h"
17 #endif
18
19 #include "wx/object.h" // base class
20
21 // ----------------------------------------------------------------------------
22 // wxGDIRefData is the base class for wxXXXData structures which contain the
23 // real data for the GDI object and are shared among all wxWin objects sharing
24 // the same native GDI object
25 // ----------------------------------------------------------------------------
26
27 class WXDLLEXPORT wxGDIRefData : public wxObjectRefData
28 {
29 // this class is intentionally left blank
30 };
31
32 // ----------------------------------------------------------------------------
33 // wxGDIObject
34 // ----------------------------------------------------------------------------
35
36 class WXDLLEXPORT wxGDIObject : public wxObject
37 {
38 public:
39 wxGDIObject() { m_visible = FALSE; };
40
41 // Creates the resource
42 virtual bool RealizeResource() { return FALSE; };
43
44 // Frees the resource
45 virtual bool FreeResource(bool WXUNUSED(force) = FALSE) { return FALSE; }
46
47 virtual bool IsFree() const { return FALSE; }
48
49 bool IsNull() const { return (m_refData == 0); }
50
51 // Returns handle.
52 virtual WXHANDLE GetResourceHandle() { return 0; }
53
54 virtual bool GetVisible() { return m_visible; }
55 virtual void SetVisible(bool v) { m_visible = v; }
56
57 protected:
58 bool m_visible; // TRUE only if we should delete this object ourselves
59
60 private:
61 DECLARE_DYNAMIC_CLASS(wxGDIObject)
62 };
63
64 #endif
65 // _WX_GDIOBJ_H_