X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb896a322a2ed53d393ee738765ddd3f72cee004..4f671eebc9595a81ef2380bb7d9541bf401ce700:/include/wx/cocoa/dcmemory.h diff --git a/include/wx/cocoa/dcmemory.h b/include/wx/cocoa/dcmemory.h index 0c5943a18f..577eee0480 100644 --- a/include/wx/cocoa/dcmemory.h +++ b/include/wx/cocoa/dcmemory.h @@ -1,28 +1,55 @@ ///////////////////////////////////////////////////////////////////////////// // Name: wx/cocoa/dcmemory.h -// Purpose: wxMemoryDC class +// Purpose: wxMemoryDCImpl class // Author: David Elliott // Modified by: // Created: 2003/03/16 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __WX_COCOA_DCMEMORY_H__ #define __WX_COCOA_DCMEMORY_H__ -#include "wx/dcclient.h" +#include "wx/cocoa/dc.h" -class WXDLLEXPORT wxMemoryDC: public wxDC +#include "wx/dcmemory.h" + +class WXDLLIMPEXP_CORE wxMemoryDCImpl: public wxCocoaDCImpl { - DECLARE_DYNAMIC_CLASS(wxMemoryDC) + DECLARE_DYNAMIC_CLASS(wxMemoryDCImpl) + public: - wxMemoryDC(void); - wxMemoryDC( wxDC *dc ); // Create compatible DC - ~wxMemoryDC(void); - virtual void SelectObject(const wxBitmap& bitmap); + wxMemoryDCImpl(wxMemoryDC *owner) + : wxCocoaDCImpl(owner) + { Init(); } + wxMemoryDCImpl(wxMemoryDC *owner, wxBitmap& bitmap) + : wxCocoaDCImpl(owner) + { Init(); + owner->SelectObject(bitmap); + } + wxMemoryDCImpl(wxMemoryDC *owner, wxDC *dc ); // Create compatible DC + virtual ~wxMemoryDCImpl(void); + virtual void DoGetSize(int *width, int *height) const; + virtual void DoSelect(const wxBitmap& bitmap); + +protected: + wxBitmap m_selectedBitmap; + WX_NSImage m_cocoaNSImage; +// DC stack + virtual bool CocoaLockFocus(); + virtual bool CocoaUnlockFocus(); + virtual bool CocoaGetBounds(void *rectData); +// Blitting + virtual bool CocoaDoBlitOnFocusedDC(wxCoord xdest, wxCoord ydest, + wxCoord width, wxCoord height, wxCoord xsrc, wxCoord ysrc, + wxRasterOperationMode logicalFunc, bool useMask, wxCoord xsrcMask, wxCoord ysrcMask); + +private: + void Init(); }; -#endif // __WX_COCOA_DCMEMORY_H__ +#endif + // __WX_COCOA_DCMEMORY_H__