X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d888a332db4d457178b2def6a0726113aab51a89..3cd25cff50f35741c8f5327865068593e214e4ca:/include/wx/gtk/dcmemory.h diff --git a/include/wx/gtk/dcmemory.h b/include/wx/gtk/dcmemory.h index a8d6434ad3..b987d4609d 100644 --- a/include/wx/gtk/dcmemory.h +++ b/include/wx/gtk/dcmemory.h @@ -7,29 +7,36 @@ // 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" -//----------------------------------------------------------------------------- -// classes -//----------------------------------------------------------------------------- - -class WXDLLIMPEXP_CORE wxMemoryDC; - //----------------------------------------------------------------------------- // wxMemoryDC //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC + +#if wxUSE_NEW_DC +class WXDLLIMPEXP_CORE wxGTKMemoryImplDC : public wxGTKWindowImplDC +#else +#define wxGTKMemoryImplDC wxMemoryDC +class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC, public wxMemoryDCBase +#endif { public: - wxMemoryDC( const wxBitmap& bitmap = wxNullBitmap ); - wxMemoryDC( wxDC *dc ); // Create compatible DC - virtual ~wxMemoryDC(); - virtual void SelectObject( const wxBitmap& bitmap ); + +#if wxUSE_NEW_DC + wxGTKMemoryImplDC( wxMemoryDC *owner ); + wxGTKMemoryImplDC( wxMemoryDC *owner, wxBitmap& bitmap ); + wxGTKMemoryImplDC( wxMemoryDC *owner, wxDC *dc ); +#else + wxMemoryDC(); + wxMemoryDC(wxBitmap& bitmap); + wxMemoryDC( wxDC *dc ); +#endif + + virtual ~wxGTKMemoryImplDC(); // these get reimplemented for mono-bitmaps to behave // more like their Win32 couterparts. They now interpret @@ -41,18 +48,25 @@ public: virtual void SetTextForeground( const wxColour &col ); virtual void SetTextBackground( const wxColour &col ); - // implementation - virtual wxBitmap GetSelectedBitmap() const { return m_selected; } - wxBitmap m_selected; - protected: - void DoGetSize( int *width, int *height ) const; - virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const - { return subrect == NULL ? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmap(*subrect); } + // overridden from wxImplDC + virtual void DoGetSize( int *width, int *height ) const; + virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const; - DECLARE_DYNAMIC_CLASS(wxMemoryDC) -}; + // overridden for wxMemoryDC Impl + virtual void DoSelect(const wxBitmap& bitmap); -#endif - // __GTKDCMEMORYH__ +public: + virtual const wxBitmap& GetSelectedBitmap() const; + virtual wxBitmap& GetSelectedBitmap(); + +private: + wxBitmap m_selected; + +private: + void Init(); + + DECLARE_ABSTRACT_CLASS(wxGTKMemoryImplDC) +}; +#endif // _WX_GTK_DCMEMORY_H_