]> git.saurik.com Git - wxWidgets.git/blob - include/wx/cocoa/dcmemory.h
Implement deep copy of wxBitmapRefData
[wxWidgets.git] / include / wx / cocoa / dcmemory.h
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$
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
17 class WXDLLEXPORT wxMemoryDC: public wxDC, public wxMemoryDCBase
18 {
19 DECLARE_DYNAMIC_CLASS(wxMemoryDC)
20
21 public:
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
30 protected:
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
42 private:
43 void Init();
44 };
45
46 #endif
47 // __WX_COCOA_DCMEMORY_H__