git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26451
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxMacWindowClipper( const wxWindow* win ) ;
~wxMacWindowClipper() ;
private:
wxMacWindowClipper( const wxWindow* win ) ;
~wxMacWindowClipper() ;
private:
RgnHandle m_formerClip ;
RgnHandle m_newClip ;
} ;
RgnHandle m_formerClip ;
RgnHandle m_newClip ;
} ;
+class WXDLLEXPORT wxMacWindowStateSaver : public wxMacWindowClipper
+{
+ DECLARE_NO_COPY_CLASS(wxMacWindowStateSaver)
+
+public:
+ wxMacWindowStateSaver( const wxWindow* win ) ;
+ ~wxMacWindowStateSaver() ;
+private:
+ GrafPtr m_newPort ;
+ ThemeDrawingState m_themeDrawingState ;
+} ;
+
/*
class wxMacDrawingHelper
{
/*
class wxMacDrawingHelper
{
wxMacWindowClipper::wxMacWindowClipper( const wxWindow* win ) :
wxMacPortSaver( (GrafPtr) GetWindowPort((WindowRef) win->MacGetTopLevelWindowRef()) )
{
wxMacWindowClipper::wxMacWindowClipper( const wxWindow* win ) :
wxMacPortSaver( (GrafPtr) GetWindowPort((WindowRef) win->MacGetTopLevelWindowRef()) )
{
+ m_newPort =(GrafPtr) GetWindowPort((WindowRef) win->MacGetTopLevelWindowRef()) ;
m_formerClip = NewRgn() ;
m_newClip = NewRgn() ;
GetClip( m_formerClip ) ;
m_formerClip = NewRgn() ;
m_newClip = NewRgn() ;
GetClip( m_formerClip ) ;
wxMacWindowClipper::~wxMacWindowClipper()
{
wxMacWindowClipper::~wxMacWindowClipper()
{
SetClip( m_formerClip ) ;
DisposeRgn( m_newClip ) ;
DisposeRgn( m_formerClip ) ;
}
SetClip( m_formerClip ) ;
DisposeRgn( m_newClip ) ;
DisposeRgn( m_formerClip ) ;
}
+wxMacWindowStateSaver::wxMacWindowStateSaver( const wxWindow* win ) :
+ wxMacWindowClipper( win )
+{
+ // the port is already set at this point
+ m_newPort =(GrafPtr) GetWindowPort((WindowRef) win->MacGetTopLevelWindowRef()) ;
+ GetThemeDrawingState( &m_themeDrawingState ) ;
+}
+
+wxMacWindowStateSaver::~wxMacWindowStateSaver()
+{
+ SetPort( m_newPort ) ;
+ SetThemeDrawingState( m_themeDrawingState , true ) ;
+}
+
//-----------------------------------------------------------------------------
// Local functions
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Local functions
//-----------------------------------------------------------------------------