#define wxUSE_MLTE 0
+
static bool sUMAHasAppearance = false ;
static long sUMAAppearanceVersion = 0 ;
+static bool sUMAHasAquaLayout = false ;
+static bool sUMASystemInitialized = false ;
+
extern int gAGABackgroundColor ;
bool UMAHasAppearance() { return sUMAHasAppearance ; }
long UMAGetAppearanceVersion() { return sUMAAppearanceVersion ; }
bool UMAHasWindowManager() { return sUMAHasWindowManager ; }
long UMAGetWindowManagerAttr() { return sUMAWindowManagerAttr ; }
+bool UMAHasAquaLayout() { return sUMAHasAquaLayout ; }
+bool UMASystemIsInitialized() { return sUMASystemInitialized ; }
void UMACleanupToolbox()
{
defaults.encoding = kTXNSystemDefaultEncoding;
TXNInitTextension(&defaults, 1, (kTXNAlwaysUseQuickDrawTextMask | kTXNWantMoviesMask | kTXNWantSoundMask | kTXNWantGraphicsMask));
#endif
+ long menuMgrAttr ;
+ Gestalt( gestaltMenuMgrAttr , &menuMgrAttr ) ;
+ if ( menuMgrAttr & gestaltMenuMgrAquaLayoutMask )
+ sUMAHasAquaLayout = true ;
+ sUMASystemInitialized = true ;
}
// process manager
void UMASetMenuTitle( MenuRef menu , StringPtr title )
{
+/*
#if !TARGET_CARBON
long size = GetHandleSize( (Handle) menu ) ;
const long headersize = 14 ;
SetHandleSize( (Handle) menu , size + (newlen - oldlen ) ) ;
}
#else
+*/
SetMenuTitle( menu , title ) ;
-#endif
+//#endif
}
UInt32 UMAMenuEvent( EventRecord *inEvent )
SetPortWindowPort( inWindow ) ;
- SetOrigin( 0 , 0 ) ;
err = SetKeyboardFocus( inWindow , inControl , inPart ) ;
SetPort( port ) ;
return err ;
GrafPtr port ;
GetPort( &port ) ;
SetPortWindowPort( inWindowRef ) ;
- SetOrigin( 0 , 0 ) ;
HiliteWindow( inWindowRef , inActivate ) ;
ControlHandle control = NULL ;
::GetRootControl( inWindowRef , & control ) ;
return helpMenuStatus ;
#endif
}
+
+wxMacPortStateHelper::wxMacPortStateHelper( GrafPtr newport)
+{
+ m_clip = NULL ;
+ Setup( newport ) ;
+}
+
+wxMacPortStateHelper::wxMacPortStateHelper()
+{
+ m_clip = NULL ;
+}
+
+void wxMacPortStateHelper::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( (CGrafPtr) newport);
+ m_textSize = GetPortTextSize( (CGrafPtr) newport);
+ m_textStyle = GetPortTextFace( (CGrafPtr) newport);
+ m_textMode = GetPortTextMode( (CGrafPtr) newport);
+ GetThemeDrawingState( &m_drawingState ) ;
+ m_currentPort = newport ;
+}
+void wxMacPortStateHelper::Clear()
+{
+ if ( m_clip )
+ {
+ DisposeRgn( m_clip ) ;
+ DisposeThemeDrawingState( m_drawingState ) ;
+ m_clip = NULL ;
+ }
+}
+
+wxMacPortStateHelper::~wxMacPortStateHelper()
+{
+ 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 ) ;
+ }
+}
+