wxMacFastPortSetter( const wxDC *dc )
{
wxASSERT( dc->Ok() ) ;
- GetPort( &m_oldPort ) ;
- SetPort( (GrafPtr) dc->m_macPort ) ;
+ m_swapped = QDSwapPort( (GrafPtr) dc->m_macPort , &m_oldPort ) ;
m_clipRgn = NewRgn() ;
GetClip( m_clipRgn ) ;
m_dc = dc ;
}
~wxMacFastPortSetter()
{
- SetPort( (GrafPtr) m_dc->m_macPort ) ;
+ // SetPort( (GrafPtr) m_dc->m_macPort ) ;
SetClip( m_clipRgn ) ;
- SetPort( m_oldPort ) ;
+ if ( m_swapped )
+ SetPort( m_oldPort ) ;
m_dc->MacCleanupPort( NULL ) ;
DisposeRgn( m_clipRgn ) ;
}
private :
+ bool m_swapped ;
RgnHandle m_clipRgn ;
GrafPtr m_oldPort ;
const wxDC* m_dc ;
tag.version = kMacHelpVersion;
SetRect( &tag.absHotRect , m_position.x - 2 , m_position.y - 2 , m_position.x + 2 , m_position.y + 2 ) ;
GrafPtr port ;
- GetPort( &port ) ;
- SetPortWindowPort(m_window) ;
+ bool swapped = QDSwapPort( GetWindowPort( m_window ) , &port ) ;
LocalToGlobal( (Point *) &tag.absHotRect.top );
LocalToGlobal( (Point *) &tag.absHotRect.bottom );
- SetPort( port );
+ if ( swapped )
+ SetPort( port );
m_helpTextRef.Assign( m_label , wxFONTENCODING_DEFAULT ) ;
tag.content[kHMMinimumContentIndex].contentType = kHMCFStringContent ;
tag.content[kHMMinimumContentIndex].u.tagCFString = m_helpTextRef ;
{
Point tlworigin = { 0 , 0 } ;
GrafPtr port ;
- ::GetPort( &port ) ;
- ::SetPort( UMAGetWindowPort( (WindowRef) tlw->MacGetWindowRef() ) ) ;
+ bool swapped = QDSwapPort( UMAGetWindowPort( (WindowRef) tlw->MacGetWindowRef() ) , &port ) ;
::LocalToGlobal( &tlworigin ) ;
- ::SetPort( port ) ;
+ if ( swapped )
+ ::SetPort( port ) ;
x = tlworigin.h ;
y = tlworigin.v ;
}