X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..09b67c660cadef225cbf8f1986cfe591f8feae8c:/include/wx/gtk1/dcmemory.h diff --git a/include/wx/gtk1/dcmemory.h b/include/wx/gtk1/dcmemory.h index 66cf85bfc0..f3744dfdf9 100644 --- a/include/wx/gtk1/dcmemory.h +++ b/include/wx/gtk1/dcmemory.h @@ -1,49 +1,69 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: dcmemory.h +// Name: wx/gtk1/dcmemory.h // Purpose: // Author: Robert Roebling -// Created: 01/02/97 -// Id: -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem -// Licence: wxWindows licence +// RCS-ID: $Id$ +// Copyright: (c) 1998 Robert Roebling +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - #ifndef __GTKDCMEMORYH__ #define __GTKDCMEMORYH__ -#ifdef __GNUG__ -#pragma interface -#endif - -#include "wx/defs.h" -#include "wx/dcclient.h" +#include "wx/dcmemory.h" +#include "wx/gtk1/dcclient.h" //----------------------------------------------------------------------------- // classes //----------------------------------------------------------------------------- -class wxMemoryDC; +class WXDLLIMPEXP_FWD_CORE wxMemoryDCImpl; //----------------------------------------------------------------------------- -// wxMemoryDC +// wxMemoryDCImpl //----------------------------------------------------------------------------- -class WXDLLEXPORT wxMemoryDC: public wxPaintDC +class WXDLLIMPEXP_CORE wxMemoryDCImpl : public wxWindowDCImpl { - DECLARE_DYNAMIC_CLASS(wxMemoryDC) +public: + wxMemoryDCImpl(wxMemoryDC *owner) + : wxWindowDCImpl(owner) + { + Init(); + } + + wxMemoryDCImpl(wxMemoryDC *owner, wxBitmap& bitmap) + : wxWindowDCImpl(owner) + { + Init(); + + DoSelect(bitmap); + } - public: - wxMemoryDC(void); - wxMemoryDC( wxDC *dc ); // Create compatible DC - ~wxMemoryDC(void); - virtual void SelectObject( const wxBitmap& bitmap ); - void GetSize( int *width, int *height ); + wxMemoryDCImpl(wxMemoryDC *owner, wxDC *dc); + virtual ~wxMemoryDCImpl(); - private: + virtual void DoSelect(const wxBitmap& bitmap); + virtual void DoGetSize( int *width, int *height ) const; + + // these get reimplemented for mono-bitmaps to behave + // more like their Win32 couterparts. They now interpret + // wxWHITE, wxWHITE_BRUSH and wxWHITE_PEN as drawing 0 + // and everything else as drawing 1. + virtual void SetPen( const wxPen &pen ); + virtual void SetBrush( const wxBrush &brush ); + virtual void SetBackground( const wxBrush &brush ); + virtual void SetTextForeground( const wxColour &col ); + virtual void SetTextBackground( const wxColour &col ); + + // implementation wxBitmap m_selected; + +private: + void Init(); + + DECLARE_DYNAMIC_CLASS(wxMemoryDCImpl) }; -#endif - // __GTKDCMEMORYH__ +#endif // __GTKDCMEMORYH__