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
23class WXDLLIMPEXP_CORE wxGDIRefData: public wxObjectRefData { };
24
25// ----------------------------------------------------------------------------
26// wxGDIObject
27// ----------------------------------------------------------------------------
28
29class WXDLLIMPEXP_CORE wxGDIObject: public wxObject
30{
31public:
32    bool IsNull() const { return m_refData == NULL; }
33
34#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXPALMOS__)
35    // Creates the resource
36    virtual bool RealizeResource() { return false; }
37
38    // Frees the resource
39    virtual bool FreeResource(bool WXUNUSED(force) = false) { return false; }
40
41    virtual bool IsFree() const { return false; }
42
43    // Returns handle.
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