X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fea35690f171f9677bd9f949c0af3dc16d1a9576..09b67c660cadef225cbf8f1986cfe591f8feae8c:/include/wx/gtk/dcmemory.h diff --git a/include/wx/gtk/dcmemory.h b/include/wx/gtk/dcmemory.h index 4afeaf4bce..ff470015c8 100644 --- a/include/wx/gtk/dcmemory.h +++ b/include/wx/gtk/dcmemory.h @@ -7,29 +7,24 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __GTKDCMEMORYH__ -#define __GTKDCMEMORYH__ +#ifndef _WX_GTK_DCMEMORY_H_ +#define _WX_GTK_DCMEMORY_H_ -#include "wx/defs.h" -#include "wx/dcclient.h" +#include "wx/dcmemory.h" +#include "wx/gtk/dcclient.h" //----------------------------------------------------------------------------- -// classes +// wxMemoryDCImpl //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxMemoryDC; - -//----------------------------------------------------------------------------- -// wxMemoryDC -//----------------------------------------------------------------------------- - -class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC, public wxMemoryDCBase +class WXDLLIMPEXP_CORE wxMemoryDCImpl : public wxWindowDCImpl { public: - wxMemoryDC() : wxWindowDC() { Init(); } - wxMemoryDC(wxBitmap& bitmap) : wxWindowDC() { Init(); SelectObject(bitmap); } - wxMemoryDC( wxDC *dc ); // Create compatible DC - virtual ~wxMemoryDC(); + wxMemoryDCImpl( wxMemoryDC *owner ); + wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap ); + wxMemoryDCImpl( wxMemoryDC *owner, wxDC *dc ); + + virtual ~wxMemoryDCImpl(); // these get reimplemented for mono-bitmaps to behave // more like their Win32 couterparts. They now interpret @@ -41,22 +36,24 @@ public: virtual void SetTextForeground( const wxColour &col ); virtual void SetTextBackground( const wxColour &col ); - // implementation - virtual wxBitmap GetSelectedBitmap() const { return m_selected; } - wxBitmap m_selected; + // overridden from wxDCImpl + virtual void DoGetSize( int *width, int *height ) const; + virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const; -protected: - void DoGetSize( int *width, int *height ) const; + // overridden for wxMemoryDC Impl virtual void DoSelect(const wxBitmap& bitmap); + virtual const wxBitmap& GetSelectedBitmap() const; + virtual wxBitmap& GetSelectedBitmap(); + private: + wxBitmap m_selected; + void Init(); - virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const - { return subrect == NULL ? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmap(*subrect); } - DECLARE_DYNAMIC_CLASS(wxMemoryDC) + DECLARE_ABSTRACT_CLASS(wxMemoryDCImpl) }; -#endif - // __GTKDCMEMORYH__ +#endif + // _WX_GTK_DCMEMORY_H_