-
-void UMAShowControl (ControlHandle inControl)
-{
- WindowRef theWindow = GetControlOwner(inControl) ;
- RgnHandle updateRgn = NewRgn() ;
-#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0332)
- GetWindowRegion( theWindow , kWindowUpdateRgn, updateRgn ) ;
-#else
- GetWindowUpdateRgn( theWindow , updateRgn ) ;
-#endif
- if ( UMAHasAppearance() )
- {
- ::ShowControl( inControl ) ;
- }
- else
- {
- ::ShowControl( inControl ) ;
- }
-#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0332)
- InvalWindowRgn( theWindow, updateRgn) ;
-#else
- InvalRgn( updateRgn ) ;
-#endif
-}
-
-
-void UMAHideControl (ControlHandle inControl)
-{
- if ( UMAHasAppearance() )
- {
- ::HideControl( inControl ) ;
- }
- else
- {
- ::HideControl( inControl ) ;
- }
-}
-
-
-void UMASetControlVisibility (ControlHandle inControl,
- Boolean inIsVisible,
- Boolean inDoDraw)
-{
- if ( UMAHasAppearance() )
- {
-#if UMA_USE_APPEARANCE
- ::SetControlVisibility( inControl , inIsVisible, inDoDraw ) ;
-#endif
- }
-}
-
-
-
-bool UMAIsControlActive (ControlHandle inControl)
-{
-#if TARGET_CARBON
- return IsControlActive( inControl ) ;
-#else
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return IsControlActive( inControl ) ;
- }
- else
-#endif
- return (**inControl).contrlHilite == 0 ;
-#endif
-}
-
-
-bool UMAIsControlVisible (ControlHandle inControl)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return IsControlVisible( inControl ) ;
- }
-#endif
- return true ;
-}
-
-OSErr UMAGetBestControlRect (ControlHandle inControl,
- Rect * outRect,
- SInt16 * outBaseLineOffset)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return GetBestControlRect( inControl , outRect , outBaseLineOffset ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- return AGAGetBestControlRect( inControl , outRect , outBaseLineOffset ) ;
- }
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-OSErr UMASetControlFontStyle (ControlHandle inControl,
- const ControlFontStyleRec * inStyle)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return ::SetControlFontStyle( inControl , inStyle ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- return AGASetControlFontStyle( inControl , inStyle ) ;
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-
-// control hierarchy
-
-OSErr UMACreateRootControl (WindowPtr inWindow,
- ControlHandle * outControl)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return CreateRootControl( inWindow , outControl ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- return AGACreateRootControl( inWindow , outControl ) ;
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-
-OSErr UMAEmbedControl (ControlHandle inControl,
- ControlHandle inContainer)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return EmbedControl( inControl , inContainer ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- return AGAEmbedControl( inControl , inContainer ) ; ;
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-
-// keyboard focus
-OSErr UMASetKeyboardFocus (WindowPtr inWindow,
- ControlHandle inControl,
- ControlFocusPart inPart)
-{
- OSErr err = noErr;
- GrafPtr port ;
- GetPort( &port ) ;
-#if TARGET_CARBON
- SetPort( GetWindowPort( inWindow ) ) ;
-#else
- SetPort( inWindow ) ;
-#endif
- SetOrigin( 0 , 0 ) ;
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- err = SetKeyboardFocus( inWindow , inControl , inPart ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- err = AGASetKeyboardFocus( inWindow , inControl , inPart ) ;
-#else
- {
- }
-#endif
- SetPort( port ) ;
- return err ;
-}
-
-
-
-
-// events
-
-ControlPartCode UMAHandleControlClick (ControlHandle inControl,
- Point inWhere,
- SInt16 inModifiers,
- ControlActionUPP inAction)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return HandleControlClick( inControl , inWhere , inModifiers , inAction ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- return AGAHandleControlClick( inControl , inWhere , inModifiers , inAction ) ;
- }
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-SInt16 UMAHandleControlKey (ControlHandle inControl,
- SInt16 inKeyCode,
- SInt16 inCharCode,
- SInt16 inModifiers)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return HandleControlKey( inControl , inKeyCode , inCharCode , inModifiers ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- return AGAHandleControlKey(inControl , inKeyCode , inCharCode , inModifiers ) ;
- }
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-
-void UMAIdleControls (WindowPtr inWindow)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- IdleControls( inWindow ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- AGAIdleControls( inWindow ) ;
- }
-#else
- {
- }
-#endif
-}
-
-void UMAUpdateControls( WindowPtr inWindow , RgnHandle inRgn )
-{
- RgnHandle updateRgn = NewRgn() ;
-#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0332)
- GetWindowRegion( inWindow , kWindowUpdateRgn, updateRgn ) ;
-#else
- GetWindowUpdateRgn( inWindow , updateRgn ) ;
-#endif
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- UpdateControls( inWindow , inRgn ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- AGAUpdateControls( inWindow , inRgn ) ;
- }
-#else
- {
- }
-#endif
-#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0332)
- InvalWindowRgn( inWindow, updateRgn) ;
-#else
- InvalRgn( updateRgn ) ;
-#endif
-}
-
-OSErr UMAGetRootControl( WindowPtr inWindow , ControlHandle *outControl )
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return GetRootControl( inWindow , outControl ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- return AGAGetRootControl( inWindow , outControl ) ;
- }
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-// handling control data
-
-OSErr UMASetControlData (ControlHandle inControl,
- ControlPartCode inPart,
- ResType inTagName,
- Size inSize,
- Ptr inData)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return SetControlData( inControl , inPart , inTagName , inSize , inData ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- return AGASetControlData( inControl , inPart , inTagName , inSize , inData ) ;
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-
-OSErr UMAGetControlData (ControlHandle inControl,
- ControlPartCode inPart,
- ResType inTagName,
- Size inBufferSize,
- Ptr outBuffer,
- Size * outActualSize)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return ::GetControlData( inControl , inPart , inTagName , inBufferSize , outBuffer , outActualSize ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- return AGAGetControlData( inControl , inPart , inTagName , inBufferSize , outBuffer , outActualSize ) ;
- }
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-OSErr UMAGetControlDataSize (ControlHandle inControl,
- ControlPartCode inPart,
- ResType inTagName,
- Size * outMaxSize)
-{
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- return GetControlDataSize( inControl , inPart , inTagName , outMaxSize ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- return AGAGetControlDataSize( inControl , inPart , inTagName , outMaxSize ) ;
- }
-#else
- {
- return noErr ;
- }
-#endif
-}
-
-
-
-
-
-// system 8.0 changes
-
-short UMAFindWindow( Point inPoint , WindowRef *outWindow )
-{
- // todo add the additional area codes
- return FindWindow( inPoint , outWindow ) ;
-}
-
-OSStatus UMAGetWindowFeatures( WindowRef inWindowRef , UInt32 *outFeatures )
-{
-#if UMA_USE_WINDOWMGR
- return GetWindowFeatures( inWindowRef , outFeatures ) ;
-#else
- return 0 ;
-#endif
-}
-
-OSStatus UMAGetWindowRegion( WindowRef inWindowRef , WindowRegionCode inRegionCode , RgnHandle ioWinRgn )
-{
-#if UMA_USE_WINDOWMGR
- return GetWindowRegion( inWindowRef , inRegionCode , ioWinRgn ) ;
-#else
- return 0 ;
-#endif
-}
-
-void UMADrawGrowIcon( WindowRef inWindowRef )
-{
- DrawGrowIcon( inWindowRef ) ;
-}
-
-OSStatus UMACollapseWindow( WindowRef inWindowRef , Boolean inCollapseIt )
-{
- return CollapseWindow( inWindowRef , inCollapseIt ) ;
-}
-
-OSStatus UMACollapseAllWindows( Boolean inCollapseEm )
-{
- return CollapseAllWindows( inCollapseEm ) ;
-}
-
-Boolean UMAIsWindowCollapsed( WindowRef inWindowRef )
-{
- return IsWindowCollapsed( inWindowRef ) ;
-}
-
-Boolean UMAIsWindowCollapsable( WindowRef inWindowRef )
-{
- return IsWindowCollapsable( inWindowRef ) ;
-}
-
-// system 8.5 changes<MacWindows.h>
-OSStatus UMACreateNewWindow( WindowClass windowClass , WindowAttributes attributes , const Rect *bounds, WindowRef *outWindow )
-{
-#if UMA_USE_WINDOWMGR
- if ( UMAHasWindowManager() )
- {
- return CreateNewWindow( windowClass , attributes, bounds, outWindow ) ;
- }
- else
-#endif
- {
- short procID ;
- if ( UMAHasAppearance() )
- {
- switch( windowClass )
- {
- case kMovableModalWindowClass :
- procID = kWindowMovableModalDialogProc;
- break ;
- case kModalWindowClass :
- procID = kWindowShadowDialogProc;
- break ;
- case kFloatingWindowClass :
- if ( attributes & kWindowSideTitlebarAttribute )
- {
- if( ( attributes & kWindowResizableAttribute ) &&
- ( attributes & kWindowFullZoomAttribute ) )
- {
- procID = kWindowFloatSideFullZoomGrowProc ;
- }
- else if( attributes & kWindowFullZoomAttribute )
- {
- procID = kWindowFloatSideFullZoomProc;
- }
- else if ( attributes & kWindowResizableAttribute )
- {
- procID = kWindowFloatSideGrowProc;
- }
- else
- {
- procID = kWindowFloatSideProc;
- }
- }
- else
- {
- if( ( attributes & kWindowResizableAttribute ) &&
- ( attributes & kWindowFullZoomAttribute ) )
- {
- procID = kWindowFloatFullZoomGrowProc ;
- }
- else if( attributes & kWindowFullZoomAttribute )
- {
- procID = kWindowFloatFullZoomProc;
- }
- else if ( attributes & kWindowResizableAttribute )
- {
- procID = kWindowFloatGrowProc;
- }
- else
- {
- procID = kWindowFloatProc;
- }
- }
- break ;
- case kDocumentWindowClass :
- default :
- if( ( attributes & kWindowResizableAttribute ) &&
- ( attributes & kWindowFullZoomAttribute ) )
- {
- procID = kWindowFullZoomGrowDocumentProc;
- }
- else if( attributes & kWindowFullZoomAttribute )
- {
- procID = kWindowFullZoomDocumentProc;
- }
- else if ( attributes & kWindowResizableAttribute )
- {
- procID = kWindowGrowDocumentProc;
- }
- else
- {
- procID = kWindowDocumentProc;
- }
- break ;
- }
- }
- else
- {
- switch( windowClass )
- {
- case kMovableModalWindowClass :
- procID = movableDBoxProc;
- break ;
- case kModalWindowClass :
- procID = altDBoxProc;
- break ;
- case kFloatingWindowClass :
- if ( attributes & kWindowSideTitlebarAttribute )
- {
- if( ( attributes & kWindowResizableAttribute ) &&
- ( attributes & kWindowFullZoomAttribute ) )
- {
- procID = floatSideZoomGrowProc ;
- }
- else if( attributes & kWindowFullZoomAttribute )
- {
- procID = floatSideZoomProc;
- }
- else if ( attributes & kWindowResizableAttribute )
- {
- procID = floatSideGrowProc;
- }
- else
- {
- procID = floatSideProc;
- }
- }
- else
- {
- if( ( attributes & kWindowResizableAttribute ) &&
- ( attributes & kWindowFullZoomAttribute ) )
- {
- procID = floatZoomGrowProc ;
- }
- else if( attributes & kWindowFullZoomAttribute )
- {
- procID = floatZoomProc;
- }
- else if ( attributes & kWindowResizableAttribute )
- {
- procID = floatGrowProc;
- }
- else
- {
- procID = floatProc;
- }
- }
- break ;
- case kDocumentWindowClass :
- default :
- if( ( attributes & kWindowResizableAttribute ) &&
- ( attributes & kWindowFullZoomAttribute ) )
- {
- procID = zoomDocProc;
- }
- else if( attributes & kWindowFullZoomAttribute )
- {
- procID = zoomNoGrow;
- }
- else if ( attributes & kWindowResizableAttribute )
- {
- procID = documentProc;
- }
- else
- {
- procID = noGrowDocProc;
- }
- break ;
- break ;
- }
- }
- *outWindow = NewCWindow(nil, bounds, "\p", false, procID, (WindowRef) -1 /*behind*/,
- attributes & kWindowCloseBoxAttribute , (long)NULL);
- return noErr ;
- }
-}
-
-OSStatus UMAGetWindowClass( WindowRef inWindowRef , WindowClass *outWindowClass )
-{
-#if UMA_USE_WINDOWMGR
- if ( UMAHasWindowManager() )
- {
- return GetWindowClass( inWindowRef , outWindowClass ) ;
- }
- else
-#endif
- return kDocumentWindowClass ;
-}
-
-OSStatus UMAGetWindowAttributes( WindowRef inWindowRef , WindowAttributes *outAttributes )
-{
-#if UMA_USE_WINDOWMGR
- if ( UMAHasWindowManager() )
- {
- return GetWindowAttributes( inWindowRef , outAttributes ) ;
- }
-#endif
- return kWindowNoAttributes ;
-}
-
-void UMAShowFloatingWindows()
-{
-#if UMA_USE_WINDOWMGR
- if ( UMAHasWindowManager() )
- {
- ShowFloatingWindows() ;
- }
-#endif
-}
-
-void UMAHideFloatingWindows()
-{
-#if UMA_USE_WINDOWMGR
- if ( UMAHasWindowManager() )
- {
- HideFloatingWindows() ;
- }
-#endif
-}
-
-Boolean UMAAreFloatingWindowsVisible()
-{
-#if UMA_USE_WINDOWMGR
- if ( UMAHasWindowManager() )
- {
- return AreFloatingWindowsVisible() ;
- }
-#endif
- return false ;
-}
-
-WindowRef UMAFrontNonFloatingWindow()
-{
-#if UMA_USE_WINDOWMGR
- if ( UMAHasWindowManager() )
- {
- return FrontNonFloatingWindow() ;
- }
- else
-#endif
- {
- return FrontWindow() ;
- }
-}
-
-WindowRef UMAFrontWindow()
-{
-#if UMA_USE_WINDOWMGR
- if ( UMAHasWindowManager() )
- {
- return FrontWindow() ;
- }
- else
-#endif
- {
- return FrontWindow() ;
- }
-}
-
-WindowRef UMAGetActiveNonFloatingWindow()
-{
- return NULL ;
-}
-
-bool UMAIsWindowFloating( WindowRef inWindow )
-{
- WindowClass cl ;
-
- UMAGetWindowClass( inWindow , &cl ) ;
- return cl == kFloatingWindowClass ;
-}
-
-bool UMAIsWindowModal( WindowRef inWindow )
-{
- WindowClass cl ;
-
- UMAGetWindowClass( inWindow , &cl ) ;
- return cl < kFloatingWindowClass ;
-}
-
-// others
-
-void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate )
-{
- if ( inWindowRef )
- {
-// bool isHighlighted = IsWindowHighlited( inWindowRef ) ;
-// if ( inActivate != isHightlited )
- 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
-#endif
-#if !TARGET_CARBON
- {
- }
-#else
- {
- }
-#endif
-}
-