wxDC::GetHandle support for wxGTK
[wxWidgets.git] / include / wx / gtk / dcmemory.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/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 virtual void* GetHandle() const;
43
44 // overridden for wxMemoryDC Impl
45 virtual void DoSelect(const wxBitmap& bitmap);
46
47 virtual const wxBitmap& GetSelectedBitmap() const;
48 virtual wxBitmap& GetSelectedBitmap();
49
50 private:
51 wxBitmap m_selected;
52
53 void Init();
54
55 DECLARE_ABSTRACT_CLASS(wxMemoryDCImpl)
56 };
57
58 #endif
59 // _WX_GTK_DCMEMORY_H_
60