]> git.saurik.com Git - wxWidgets.git/blob - include/wx/cocoa/dcclient.h
In the object destructor, Disassociate the object from its Cocoa counterpart
[wxWidgets.git] / include / wx / cocoa / dcclient.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/cocoa/dcclient.h
3 // Purpose: wxClientDC, wxPaintDC and wxWindowDC classes
4 // Author: David Elliott
5 // Modified by:
6 // Created: 2003/04/01
7 // RCS-ID: $Id$
8 // Copyright: (c) 2003 David Elliott
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __WX_COCOA_DCCLIENT_H__
13 #define __WX_COCOA_DCCLIENT_H__
14
15 #include "wx/dc.h"
16
17 // DFE: A while ago I stumbled upon the fact that retrieving the parent
18 // NSView of the content view seems to return the entire window rectangle
19 // (including decorations). Of course, that is not at all part of the
20 // Cocoa or OpenStep APIs, but it might be a neat hack.
21 class wxWindowDC: public wxDC
22 {
23 DECLARE_DYNAMIC_CLASS(wxWindowDC)
24 public:
25 wxWindowDC(void);
26 // Create a DC corresponding to a window
27 wxWindowDC(wxWindow *win);
28 ~wxWindowDC(void);
29
30 // NSView specific functions
31 virtual void Clear();
32 protected:
33 wxWindow *m_window;
34 };
35
36 class wxClientDC: public wxWindowDC
37 {
38 DECLARE_DYNAMIC_CLASS(wxClientDC)
39 public:
40 wxClientDC(void);
41 // Create a DC corresponding to a window
42 wxClientDC(wxWindow *win);
43 ~wxClientDC(void);
44 };
45
46 class wxPaintDC: public wxWindowDC
47 {
48 DECLARE_DYNAMIC_CLASS(wxPaintDC)
49 public:
50 wxPaintDC(void);
51 // Create a DC corresponding to a window
52 wxPaintDC(wxWindow *win);
53 ~wxPaintDC(void);
54 };
55
56 #endif // __WX_COCOA_DCCLIENT_H__