- RgnHandle updateRgn = NewRgn() ;
- GetWindowUpdateRgn( inWindow , updateRgn ) ;
-#if UMA_USE_APPEARANCE
- if ( UMAHasAppearance() )
- {
- UpdateControls( inWindow , inRgn ) ;
- }
- else
-#endif
-#if !TARGET_CARBON
- {
- AGAUpdateControls( inWindow , inRgn ) ;
- }
-#else
- {
- }
-#endif
- InvalRgn( updateRgn ) ;
-}
-
-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 ;
-}