1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/gdiobj.h
3 // Purpose:     wxGDIObject base header
4 // Author:      Julian Smart
5 // Modified by:
6 // Created:
7 // Copyright:   (c) Julian Smart
8 // RCS-ID:      $Id: gdiobj.h 42211 2006-10-21 17:19:11Z SN $
9 // Licence:     wxWindows Licence
10 /////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef _WX_GDIOBJ_H_BASE_
13 #define _WX_GDIOBJ_H_BASE_
14 
15 #include "wx/object.h"
16 
17 // ----------------------------------------------------------------------------
18 // wxGDIRefData is the base class for wxXXXData structures which contain the
19 // real data for the GDI object and are shared among all wxWin objects sharing
20 // the same native GDI object
21 // ----------------------------------------------------------------------------
22 
23 class WXDLLIMPEXP_CORE wxGDIRefData: public wxObjectRefData { };
24 
25 // ----------------------------------------------------------------------------
26 // wxGDIObject
27 // ----------------------------------------------------------------------------
28 
29 class WXDLLIMPEXP_CORE wxGDIObject: public wxObject
30 {
31 public:
IsNull()32     bool IsNull() const { return m_refData == NULL; }
33 
34 #if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXPALMOS__)
35     // Creates the resource
RealizeResource()36     virtual bool RealizeResource() { return false; }
37 
38     // Frees the resource
WXUNUSED(force)39     virtual bool FreeResource(bool WXUNUSED(force) = false) { return false; }
40 
IsFree()41     virtual bool IsFree() const { return false; }
42 
43     // Returns handle.
GetResourceHandle()44     virtual WXHANDLE GetResourceHandle() const { return 0; }
45 #endif // defined(__WXMSW__) || defined(__WXPM__)
46 
47     DECLARE_DYNAMIC_CLASS(wxGDIObject)
48 };
49 
50 #endif
51     // _WX_GDIOBJ_H_BASE_
52