X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce44c50e9bd546cd6ca8fe2e552f25ef08083999..ca77701441e39245dcbfce903049e76f166979e5:/include/wx/os2/dcmemory.h diff --git a/include/wx/os2/dcmemory.h b/include/wx/os2/dcmemory.h index 7ee412ee16..b4f268db1d 100644 --- a/include/wx/os2/dcmemory.h +++ b/include/wx/os2/dcmemory.h @@ -1,39 +1,44 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: dcmemory.h +// Name: wx/os2/dcmemory.h // Purpose: wxMemoryDC class -// Author: AUTHOR +// Author: David Webster // Modified by: -// Created: ??/??/98 +// Created: 09/09/99 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) David Webster +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_DCMEMORY_H_ #define _WX_DCMEMORY_H_ -#ifdef __GNUG__ -#pragma interface "dcmemory.h" -#endif - -#include "wx/dcclient.h" +#include "wx/dcmemory.h" +#include "wx/os2/dc.h" -class WXDLLEXPORT wxMemoryDC: public wxPaintDC +class WXDLLIMPEXP_CORE wxMemoryDCImpl: public wxPMDCImpl { - DECLARE_DYNAMIC_CLASS(wxMemoryDC) - - public: - wxMemoryDC(void); - wxMemoryDC( wxDC *dc ); // Create compatible DC - - ~wxMemoryDC(void); - virtual void SelectObject( const wxBitmap& bitmap ); - void GetSize( int *width, int *height ) const; - - private: - friend wxPaintDC; - wxBitmap m_selected; -}; +public: + wxMemoryDCImpl( wxMemoryDC *owner ); + wxMemoryDCImpl( wxMemoryDC *owner, wxBitmap& bitmap ); + wxMemoryDCImpl( wxMemoryDC *owner, wxDC* pDC); // Create compatible DC + + // override some base class virtuals + virtual void DoGetSize(int* pWidth, int* pHeight) const; + virtual void DoSelect(const wxBitmap& bitmap); + + virtual wxBitmap DoGetAsBitmap(const wxRect* subrect) const + { return subrect == NULL ? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmap(*subrect);} + +protected: + // create DC compatible with the given one or screen if dc == NULL + bool CreateCompatible(wxDC* pDC); + + // initialize the newly created DC + void Init(void); +private: + DECLARE_CLASS(wxMemoryDCImpl) + wxDECLARE_NO_COPY_CLASS(wxMemoryDCImpl); +}; // end of CLASS wxMemoryDCImpl #endif // _WX_DCMEMORY_H_