-#include <wx/mac/uma.h>
-#include <wx/mac/aga.h>
+#include "wx/defs.h"
+#include "wx/dc.h"
+#include "wx/mac/uma.h"
+#include "wx/mac/aga.h"
-
-#include "Navigation.h"
+#ifdef __UNIX__
+ #include <Carbon/Carbon.h>
+#else
+ #include <Navigation.h>
+#endif
// init
+#if !TARGET_CARBON
+#define GetControlOwner( control ) (**control).contrlOwner
+#endif
+
static bool sUMAHasAppearance = false ;
static long sUMAAppearanceVersion = 0 ;
extern int gAGABackgroundColor ;
#endif // UMA_USE_WINDOWMGR
#endif
+#ifndef __UNIX__
+#if TARGET_CARBON
+// Call currently implicitely done : InitFloatingWindows() ;
+#else
if ( sUMAHasWindowManager )
InitFloatingWindows() ;
else
InitWindows();
+#endif
+#endif
if ( NavServicesAvailable() )
{
Str255 ptitle ;
strncpy( (char*)ptitle , title , 96 ) ;
ptitle[96] = 0 ;
+#if TARGET_CARBON
+ c2pstrcpy( ptitle, (char *)ptitle ) ;
+#else
c2pstr( (char*)ptitle ) ;
+#endif
SetWTitle( inWindowRef , ptitle ) ;
}
+
void UMAGetWTitleC( WindowRef inWindowRef , char *title )
{
GetWTitle( inWindowRef , (unsigned char*)title ) ;
+#if TARGET_CARBON
+ p2cstrcpy( title, (unsigned char *)title ) ;
+#else
p2cstr( (unsigned char*)title ) ;
+#endif
}
void UMAShowWindow( WindowRef inWindowRef )
void UMAActivateControl( ControlHandle inControl )
{
+ RgnHandle updateRgn = NewRgn() ;
+ GetWindowUpdateRgn( GetControlOwner(inControl) , updateRgn ) ;
#if UMA_USE_APPEARANCE
if ( UMAHasAppearance() )
{
{
}
#endif
+ InvalRgn( updateRgn ) ;
}
void UMADrawControl( ControlHandle inControl )
{
+ RgnHandle updateRgn = NewRgn() ;
+ GetWindowUpdateRgn( GetControlOwner(inControl) , updateRgn ) ;
#if UMA_USE_APPEARANCE
if ( UMAHasAppearance() )
{
{
}
#endif
+ InvalRgn( updateRgn ) ;
}
void UMAMoveControl( ControlHandle inControl , short x , short y )
{
+ RgnHandle updateRgn = NewRgn() ;
+ GetWindowUpdateRgn( GetControlOwner(inControl) , updateRgn ) ;
#if UMA_USE_APPEARANCE
if ( UMAHasAppearance() )
{
{
}
#endif
+ InvalRgn( updateRgn ) ;
}
void UMASizeControl( ControlHandle inControl , short x , short y )
{
+ RgnHandle updateRgn = NewRgn() ;
+ GetWindowUpdateRgn( GetControlOwner(inControl) , updateRgn ) ;
#if UMA_USE_APPEARANCE
if ( UMAHasAppearance() )
{
{
}
#endif
+ InvalRgn( updateRgn ) ;
}
void UMADeactivateControl( ControlHandle inControl )
{
+ RgnHandle updateRgn = NewRgn() ;
+ GetWindowUpdateRgn( GetControlOwner(inControl) , updateRgn ) ;
#if UMA_USE_APPEARANCE
if ( UMAHasAppearance() )
{
{
}
#endif
+ InvalRgn( updateRgn ) ;
}
void UMASetThemeWindowBackground (WindowRef inWindow,
void UMAHiliteControl (ControlHandle theControl,
ControlPartCode hiliteState)
{
+ RgnHandle updateRgn = NewRgn() ;
+ GetWindowUpdateRgn( GetControlOwner(theControl) , updateRgn ) ;
if ( UMAHasAppearance() )
{
::HiliteControl( theControl , hiliteState ) ;
{
::HiliteControl( theControl , hiliteState ) ;
}
+ InvalRgn( updateRgn ) ;
}
void UMAShowControl (ControlHandle theControl)
{
+ RgnHandle updateRgn = NewRgn() ;
+ GetWindowUpdateRgn( GetControlOwner(theControl) , updateRgn ) ;
if ( UMAHasAppearance() )
{
::ShowControl( theControl ) ;
{
::ShowControl( theControl ) ;
}
+ InvalRgn( updateRgn ) ;
}
{
if ( UMAHasAppearance() )
{
- ::HideControl( theControl ) ;
+ ::HideControl( theControl ) ;
}
else
{
- ::HideControl( theControl ) ;
+ ::HideControl( theControl ) ;
}
}
void UMAUpdateControls( WindowPtr inWindow , RgnHandle inRgn )
{
+ RgnHandle updateRgn = NewRgn() ;
+ GetWindowUpdateRgn( inWindow , updateRgn ) ;
#if UMA_USE_APPEARANCE
if ( UMAHasAppearance() )
{
{
}
#endif
+ InvalRgn( updateRgn ) ;
}
OSErr UMAGetRootControl( WindowPtr inWindow , ControlHandle *outControl )
{
// bool isHighlighted = IsWindowHighlited( inWindowRef ) ;
// if ( inActivate != isHightlited )
- HiliteWindow( inWindowRef , inActivate ) ;
- ControlHandle control = NULL ;
- UMAGetRootControl( inWindowRef , & control ) ;
- if ( control )
- {
- if ( inActivate )
- UMAActivateControl( control ) ;
- else
- UMADeactivateControl( control ) ;
- }
+ GrafPtr port ;
+ GetPort( &port ) ;
+#if TARGET_CARBON
+ SetPort( GetWindowPort( inWindowRef ) ) ;
+#else
+ SetPort( inWindowRef ) ;
+#endif
+ SetOrigin( 0 , 0 ) ;
+ HiliteWindow( inWindowRef , inActivate ) ;
+ ControlHandle control = NULL ;
+ UMAGetRootControl( inWindowRef , & control ) ;
+ if ( control )
+ {
+ if ( inActivate )
+ UMAActivateControl( control ) ;
+ else
+ UMADeactivateControl( control ) ;
+ }
+ SetPort( port ) ;
}
}
OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState )
{
#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- ::DrawThemePlacard( inRect , inState ) ;
- }
- else
+ if ( UMAHasAppearance() )
+ {
+ ::DrawThemePlacard( inRect , inState ) ;
+ }
+ else
#endif
#if !TARGET_CARBON
- {
- }
+ {
+ }
#else
- {
- }
+ {
+ }
#endif
}