X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6f65e33794fca0c936227235515a40e7df5c56e3..c94f845b1602d44ccd7c7542afffde666adbb2f0:/include/wx/gtk/dcmemory.h diff --git a/include/wx/gtk/dcmemory.h b/include/wx/gtk/dcmemory.h index 7afbb3295d..a0fb9d6c23 100644 --- a/include/wx/gtk/dcmemory.h +++ b/include/wx/gtk/dcmemory.h @@ -2,49 +2,55 @@ // Name: dcmemory.h // Purpose: // Author: Robert Roebling -// Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem -// Licence: wxWindows licence +// Copyright: (c) 1998 Robert Roebling +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +#ifndef _WX_GTK_DCMEMORY_H_ +#define _WX_GTK_DCMEMORY_H_ -#ifndef __GTKDCMEMORYH__ -#define __GTKDCMEMORYH__ - -#ifdef __GNUG__ -#pragma interface -#endif - -#include "wx/defs.h" #include "wx/dcclient.h" -//----------------------------------------------------------------------------- -// classes -//----------------------------------------------------------------------------- - -class wxMemoryDC; - //----------------------------------------------------------------------------- // wxMemoryDC //----------------------------------------------------------------------------- -class WXDLLEXPORT wxMemoryDC: public wxPaintDC +class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC, public wxMemoryDCBase { - DECLARE_DYNAMIC_CLASS(wxMemoryDC) - - public: - wxMemoryDC(void); +public: + wxMemoryDC() : wxWindowDC() { Init(); } + wxMemoryDC(wxBitmap& bitmap) : wxWindowDC() { Init(); SelectObject(bitmap); } wxMemoryDC( wxDC *dc ); // Create compatible DC - ~wxMemoryDC(void); - virtual void SelectObject( const wxBitmap& bitmap ); - void GetSize( int *width, int *height ); - - private: - friend wxPaintDC; + virtual ~wxMemoryDC(); + + // 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 GetSelectedBitmap() const { return m_selected; } wxBitmap m_selected; -}; -#endif - // __GTKDCMEMORYH__ +protected: + void DoGetSize( int *width, int *height ) const; + virtual void DoSelect(const wxBitmap& bitmap); + virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const + { + wxBitmap bmp = GetSelectedBitmap(); + return subrect ? bmp.GetSubBitmap(*subrect) : bmp; + } + +private: + void Init(); + + DECLARE_DYNAMIC_CLASS(wxMemoryDC) +}; +#endif // _WX_GTK_DCMEMORY_H_