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: gdiobj.h,v 1.1 2006/12/02 15:58:32 scara Exp $
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:
wxGDIObject()39     wxGDIObject() { m_visible = FALSE; };
40 
41     // Creates the resource
RealizeResource()42     virtual bool RealizeResource() { return FALSE; };
43 
44     // Frees the resource
WXUNUSED(force)45     virtual bool FreeResource(bool WXUNUSED(force) = FALSE) { return FALSE; }
46 
IsFree()47     virtual bool IsFree() const { return FALSE; }
48 
IsNull()49     bool IsNull() const { return (m_refData == 0); }
50 
51     // Returns handle.
GetResourceHandle()52     virtual WXHANDLE GetResourceHandle() const { return 0; }
53 
GetVisible()54     virtual bool GetVisible() { return m_visible; }
SetVisible(bool v)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_
66