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