]> git.saurik.com Git - wxWidgets.git/blob - include/wx/mgl/dcmemory.h
Prevent seg fault for older GTK+
[wxWidgets.git] / include / wx / mgl / dcmemory.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: dcmemory.h
3 // Purpose:
4 // Author: Vaclav Slavik
5 // RCS-ID: $Id$
6 // Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #ifndef __WX_DCMEMORY_H__
11 #define __WX_DCMEMORY_H__
12
13 #include "wx/defs.h"
14 #include "wx/dcclient.h"
15
16 //-----------------------------------------------------------------------------
17 // classes
18 //-----------------------------------------------------------------------------
19
20 class WXDLLEXPORT wxMemoryDC;
21
22 //-----------------------------------------------------------------------------
23 // wxMemoryDC
24 //-----------------------------------------------------------------------------
25
26 class WXDLLEXPORT wxMemoryDC : public wxDC, public wxMemoryDCBase
27 {
28 public:
29 wxMemoryDC() { Init(); }
30 wxMemoryDC(wxBitmap& bitmap) { Init(); SelectObject(bitmap); }
31 wxMemoryDC(wxDC *dc); // Create compatible DC
32 virtual ~wxMemoryDC();
33
34 // these get reimplemented for mono-bitmaps to behave
35 // more like their Win32 couterparts. They now interpret
36 // wxWHITE, wxWHITE_BRUSH and wxWHITE_PEN as drawing 0
37 // and everything else as drawing 1.
38 virtual void SetPen(const wxPen &pen);
39 virtual void SetBrush(const wxBrush &brush);
40 virtual void SetTextForeground(const wxColour &col);
41 virtual void SetTextBackground(const wxColour &col);
42
43 // implementation
44 wxBitmap m_selected;
45
46 wxBitmap GetSelectedObject() const { return m_selected; }
47
48 protected:
49 virtual void DoSelect(const wxBitmap& bitmap);
50
51 private:
52 void Init();
53
54 DECLARE_DYNAMIC_CLASS(wxMemoryDC)
55 };
56
57 #endif
58 // __WX_DCMEMORY_H__
59