1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/cocoa/dcmemory.h 3// Purpose: wxMemoryDC class 4// Author: David Elliott 5// Modified by: 6// Created: 2003/03/16 7// RCS-ID: $Id: dcmemory.h 42755 2006-10-30 19:41:46Z VZ $ 8// Copyright: (c) 2003 David Elliott 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef __WX_COCOA_DCMEMORY_H__ 13#define __WX_COCOA_DCMEMORY_H__ 14 15#include "wx/dc.h" 16 17class WXDLLEXPORT wxMemoryDC: public wxDC, public wxMemoryDCBase 18{ 19 DECLARE_DYNAMIC_CLASS(wxMemoryDC) 20 21public: 22 wxMemoryDC() { Init(); } 23 wxMemoryDC(wxBitmap& bitmap) { Init(); SelectObject(bitmap); } 24 wxMemoryDC( wxDC *dc ); // Create compatible DC 25 virtual ~wxMemoryDC(void); 26 27 virtual void DoGetSize(int *width, int *height) const; 28 virtual void DoSelect(const wxBitmap& bitmap); 29 30protected: 31 wxBitmap m_selectedBitmap; 32 WX_NSImage m_cocoaNSImage; 33// DC stack 34 virtual bool CocoaLockFocus(); 35 virtual bool CocoaUnlockFocus(); 36 virtual bool CocoaGetBounds(void *rectData); 37// Blitting 38 virtual bool CocoaDoBlitOnFocusedDC(wxCoord xdest, wxCoord ydest, 39 wxCoord width, wxCoord height, wxCoord xsrc, wxCoord ysrc, 40 int logicalFunc, bool useMask, wxCoord xsrcMask, wxCoord ysrcMask); 41 42private: 43 void Init(); 44}; 45 46#endif 47 // __WX_COCOA_DCMEMORY_H__ 48