]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/dcmemory.h
Added wxVariantData::Clone and wxVariant::Unshare
[wxWidgets.git] / include / wx / gtk / dcmemory.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: dcmemory.h
3 // Purpose:
4 // Author: Robert Roebling
5 // RCS-ID: $Id$
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #ifndef _WX_GTK_DCMEMORY_H_
11 #define _WX_GTK_DCMEMORY_H_
12
13 #include "wx/dcclient.h"
14
15 //-----------------------------------------------------------------------------
16 // wxMemoryDC
17 //-----------------------------------------------------------------------------
18
19
20 #if wxUSE_NEW_DC
21 class WXDLLIMPEXP_CORE wxGTKMemoryImplDC : public wxGTKWindowImplDC, public wxMemoryImplDCBase
22 #else
23 #define wxGTKMemoryImplDC wxMemoryDC
24 class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC, public wxMemoryDCBase
25 #endif
26 {
27 public:
28
29 #if wxUSE_NEW_DC
30 wxGTKMemoryImplDC( wxMemoryDC *owner );
31 wxGTKMemoryImplDC( wxMemoryDC *owner, wxBitmap& bitmap );
32 wxGTKMemoryImplDC( wxMemoryDC *owner, wxDC *dc );
33 #else
34 wxMemoryDC();
35 wxMemoryDC(wxBitmap& bitmap);
36 wxMemoryDC( wxDC *dc );
37 #endif
38
39 virtual ~wxGTKMemoryImplDC();
40
41 // these get reimplemented for mono-bitmaps to behave
42 // more like their Win32 couterparts. They now interpret
43 // wxWHITE, wxWHITE_BRUSH and wxWHITE_PEN as drawing 0
44 // and everything else as drawing 1.
45 virtual void SetPen( const wxPen &pen );
46 virtual void SetBrush( const wxBrush &brush );
47 virtual void SetBackground( const wxBrush &brush );
48 virtual void SetTextForeground( const wxColour &col );
49 virtual void SetTextBackground( const wxColour &col );
50
51 // implementation
52 wxBitmap GetSelectedBitmap() const { return m_selected; }
53
54 protected:
55 // overridden from wxImplDC
56 virtual void DoGetSize( int *width, int *height ) const;
57 virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const;
58
59 public:
60 // overridden from wxMemoryImplDCBase
61 virtual void DoSelect(const wxBitmap& bitmap);
62 virtual const wxBitmap& DoGetSelectedBitmap() const;
63 virtual wxBitmap& DoGetSelectedBitmap();
64
65 wxBitmap m_selected;
66
67 private:
68 void Init();
69
70 DECLARE_ABSTRACT_CLASS(wxGTKMemoryImplDC)
71 };
72
73 #endif // _WX_GTK_DCMEMORY_H_