]> git.saurik.com Git - wxWidgets.git/blame - include/wx/osx/carbon/private/overlay.h
activating DrawRectangle optimization
[wxWidgets.git] / include / wx / osx / carbon / private / overlay.h
CommitLineData
5c6eb3a8 1/////////////////////////////////////////////////////////////////////////////
233f5738 2// Name: wx/osx/carbon/private/overlay.h
5c6eb3a8
SC
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
ef0e9220 15#include "wx/osx/private.h"
5c6eb3a8
SC
16#include "wx/toplevel.h"
17#include "wx/graphics.h"
18
19class wxOverlayImpl
20{
21public:
22 wxOverlayImpl() ;
23 ~wxOverlayImpl() ;
03647350
VZ
24
25
5c6eb3a8
SC
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();
03647350 29
5c6eb3a8
SC
30 // returns true if it has been setup
31 bool IsOk();
03647350 32
5c6eb3a8 33 void Init( wxDC* dc, int x , int y , int width , int height );
03647350 34
5c6eb3a8 35 void BeginDrawing( wxDC* dc);
03647350 36
5c6eb3a8 37 void EndDrawing( wxDC* dc);
03647350 38
5c6eb3a8
SC
39 void Clear( wxDC* dc);
40
41private:
42 OSStatus CreateOverlayWindow();
03647350 43
5c6eb3a8 44 void MacGetBounds( Rect *bounds );
03647350 45
5c6eb3a8
SC
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 ;
03647350 51
5c6eb3a8
SC
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_