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 ) wxOVERRIDE;
33     virtual void SetBrush( const wxBrush &brush ) wxOVERRIDE;
34     virtual void SetBackground( const wxBrush &brush ) wxOVERRIDE;
35     virtual void SetTextForeground( const wxColour &col ) wxOVERRIDE;
36     virtual void SetTextBackground( const wxColour &col ) wxOVERRIDE;
37 
38     // overridden from wxDCImpl
39     virtual void DoGetSize( int *width, int *height ) const wxOVERRIDE;
40     virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const wxOVERRIDE;
41     virtual void* GetHandle() const wxOVERRIDE;
42 
43     // overridden for wxMemoryDC Impl
44     virtual void DoSelect(const wxBitmap& bitmap) wxOVERRIDE;
45 
46     virtual const wxBitmap& GetSelectedBitmap() const wxOVERRIDE;
47     virtual wxBitmap& GetSelectedBitmap() wxOVERRIDE;
48 
49 private:
50     wxBitmap  m_selected;
51 
52     void Init();
53 
54     wxDECLARE_ABSTRACT_CLASS(wxMemoryDCImpl);
55 };
56 
57 #endif
58     // _WX_GTK_DCMEMORY_H_
59 
60