]> git.saurik.com Git - wxWidgets.git/blob - include/wx/osx/carbon/private/overlay.h
Allow custom wxDataViewCtrl renderers to easily use attributes.
[wxWidgets.git] / include / wx / osx / carbon / private / overlay.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/mac/carbon/private/overlay.h
3 // Purpose: wxOverlayImpl declaration
4 // Author: Stefan Csomor
5 // Modified by:
6 // Created: 2006-10-20
7 // RCS-ID: $Id$
8 // Copyright: (c) wxWidgets team
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_MAC_CARBON_PRIVATE_OVERLAY_H_
13 #define _WX_MAC_CARBON_PRIVATE_OVERLAY_H_
14
15 #include "wx/osx/private.h"
16 #include "wx/toplevel.h"
17 #include "wx/graphics.h"
18
19 class wxOverlayImpl
20 {
21 public:
22 wxOverlayImpl() ;
23 ~wxOverlayImpl() ;
24
25
26 // clears the overlay without restoring the former state
27 // to be done eg when the window content has been changed and repainted
28 void Reset();
29
30 // returns true if it has been setup
31 bool IsOk();
32
33 void Init( wxDC* dc, int x , int y , int width , int height );
34
35 void BeginDrawing( wxDC* dc);
36
37 void EndDrawing( wxDC* dc);
38
39 void Clear( wxDC* dc);
40
41 private:
42 OSStatus CreateOverlayWindow();
43
44 void MacGetBounds( Rect *bounds );
45
46 WindowRef m_overlayWindow;
47 WindowRef m_overlayParentWindow;
48 CGContextRef m_overlayContext ;
49 // we store the window in case we would have to issue a Refresh()
50 wxWindow* m_window ;
51
52 int m_x ;
53 int m_y ;
54 int m_width ;
55 int m_height ;
56 } ;
57
58 #endif // _WX_MAC_CARBON_PRIVATE_OVERLAY_H_