]> git.saurik.com Git - wxWidgets.git/blame - include/wx/cocoa/dcclient.h
Use NSWindow delegate notification windowWillClose instead of overriding close
[wxWidgets.git] / include / wx / cocoa / dcclient.h
CommitLineData
a24aff65 1/////////////////////////////////////////////////////////////////////////////
6c342f3f 2// Name: wx/cocoa/dcclient.h
a24aff65 3// Purpose: wxClientDC, wxPaintDC and wxWindowDC classes
6c342f3f 4// Author: David Elliott
a24aff65 5// Modified by:
6c342f3f 6// Created: 2003/04/01
a24aff65 7// RCS-ID: $Id$
6c342f3f
DE
8// Copyright: (c) 2003 David Elliott
9// Licence: wxWindows license
a24aff65
DE
10/////////////////////////////////////////////////////////////////////////////
11
6c342f3f
DE
12#ifndef __WX_COCOA_DCCLIENT_H__
13#define __WX_COCOA_DCCLIENT_H__
a24aff65
DE
14
15#include "wx/dc.h"
16
6c342f3f
DE
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.
21class wxWindowDC: public wxDC
a24aff65 22{
6c342f3f
DE
23 DECLARE_DYNAMIC_CLASS(wxWindowDC)
24public:
25 wxWindowDC(void);
26 // Create a DC corresponding to a window
27 wxWindowDC(wxWindow *win);
28 ~wxWindowDC(void);
9d180f3a
DE
29
30 // NSView specific functions
31 virtual void Clear();
fcc9de54
DE
32protected:
33 wxWindow *m_window;
b66e9853
DE
34 WX_NSView m_lockedNSView;
35// DC stack
36 virtual bool CocoaLockFocus();
37 virtual bool CocoaUnlockFocus();
38 bool CocoaLockFocusOnNSView(WX_NSView nsview);
39 bool CocoaUnlockFocusOnNSView();
a24aff65
DE
40};
41
6c342f3f 42class wxClientDC: public wxWindowDC
a24aff65 43{
6c342f3f
DE
44 DECLARE_DYNAMIC_CLASS(wxClientDC)
45public:
46 wxClientDC(void);
47 // Create a DC corresponding to a window
48 wxClientDC(wxWindow *win);
49 ~wxClientDC(void);
fe8f7943
DE
50protected:
51// DC stack
52 virtual bool CocoaLockFocus();
53 virtual bool CocoaUnlockFocus();
a24aff65
DE
54};
55
6c342f3f 56class wxPaintDC: public wxWindowDC
a24aff65 57{
6c342f3f
DE
58 DECLARE_DYNAMIC_CLASS(wxPaintDC)
59public:
60 wxPaintDC(void);
61 // Create a DC corresponding to a window
62 wxPaintDC(wxWindow *win);
63 ~wxPaintDC(void);
fe8f7943
DE
64protected:
65// DC stack
66 virtual bool CocoaLockFocus();
67 virtual bool CocoaUnlockFocus();
a24aff65
DE
68};
69
6c342f3f 70#endif // __WX_COCOA_DCCLIENT_H__