-AGAPortHelper::AGAPortHelper( GrafPtr newport)
-{
- m_clip = NULL ;
- Setup( newport ) ;
-}
-AGAPortHelper::AGAPortHelper()
-{
- m_clip = NULL ;
-}
-
-void AGAPortHelper::Setup( GrafPtr newport )
-{
- GetPort( &m_oldPort ) ;
- SetPort( newport ) ;
- wxASSERT_MSG( m_clip == NULL , "Cannot call setup twice" ) ;
- m_clip = NewRgn() ;
- GetClip( m_clip );
- m_textFont = GetPortTextFont( newport);
- m_textSize = GetPortTextSize( newport);
- m_textStyle = GetPortTextFace( newport);
- m_textMode = GetPortTextMode( newport);
- GetThemeDrawingState( &m_drawingState ) ;
- m_currentPort = newport ;
-}
-void AGAPortHelper::Clear()
-{
- if ( m_clip )
- {
- DisposeRgn( m_clip ) ;
- DisposeThemeDrawingState( m_drawingState ) ;
- m_clip = NULL ;
- }
-}
-AGAPortHelper::~AGAPortHelper()
-{
- if ( m_clip )
- {
- SetPort( m_currentPort ) ;
- SetClip( m_clip ) ;
- DisposeRgn( m_clip ) ;
- TextFont( m_textFont );
- TextSize( m_textSize );
- TextFace( m_textStyle );
- TextMode( m_textMode );
- SetThemeDrawingState( m_drawingState , true ) ;
- SetPort( m_oldPort ) ;
- }
-}