]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/dcmemory.h
Further performance optimizations
[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/dcmemory.h"
14 #include "wx/gtk/dcclient.h"
15
16 //-----------------------------------------------------------------------------
17 // wxMemoryDCImpl
18 //-----------------------------------------------------------------------------
19
20 class WXDLLIMPEXP_CORE wxMemoryDCImpl : public wxWindowDCImpl
21 {
22 public:
23 wxMemoryDCImpl( wxMemoryDC *owner );
24 wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap );
25 wxMemoryDCImpl( wxMemoryDC *owner, wxDC *dc );
26
27 virtual ~wxMemoryDCImpl();
28
29 // these get reimplemented for mono-bitmaps to behave
30 // more like their Win32 couterparts. They now interpret
31 // wxWHITE, wxWHITE_BRUSH and wxWHITE_PEN as drawing 0
32 // and everything else as drawing 1.
33 virtual void SetPen( const wxPen &pen );
34 virtual void SetBrush( const wxBrush &brush );
35 virtual void SetBackground( const wxBrush &brush );
36 virtual void SetTextForeground( const wxColour &col );
37 virtual void SetTextBackground( const wxColour &col );
38
39 // overridden from wxDCImpl
40 virtual void DoGetSize( int *width, int *height ) const;
41 virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) 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