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