wxWindows can be configured as wxMac or wxMotif under Mac OS X replaced __WXMAC_X__ define by __DARWIN__ (general Darwin related issues) moved dlopen/dlerror code to dynlib.cpp to make it available for wxMotif git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			260 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			260 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        uma.h
 | 
						|
// Purpose:     Universal MacOS API
 | 
						|
// Author:      Stefan Csomor
 | 
						|
// Modified by:
 | 
						|
// Created:     03/02/99
 | 
						|
// RCS-ID:      $Id: 
 | 
						|
// Copyright:   (c) Stefan Csomor
 | 
						|
// Licence:   	wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef H_UMA
 | 
						|
#define H_UMA
 | 
						|
 | 
						|
// define this to be 1 if you have the 8.6 libs (weak linked)
 | 
						|
 | 
						|
#define UMA_USE_8_6 0 
 | 
						|
 | 
						|
#if TARGET_CARBON
 | 
						|
#undef UMA_USE_8_6
 | 
						|
#define UMA_USE_8_6 1 
 | 
						|
#endif
 | 
						|
 | 
						|
#if defined(__POWERPC__)
 | 
						|
    #define UMA_USE_APPEARANCE 1
 | 
						|
    #define UMA_USE_WINDOWMGR 1
 | 
						|
    #if defined(__DARWIN__)
 | 
						|
        #include <Carbon/Carbon.h>
 | 
						|
    #endif
 | 
						|
#else
 | 
						|
    #define UMA_USE_APPEARANCE 1
 | 
						|
    #define UMA_USE_WINDOWMGR 0
 | 
						|
#endif
 | 
						|
 | 
						|
#if UMA_USE_APPEARANCE == 0 
 | 
						|
    #pragma error "wxMac needs appearance"
 | 
						|
#endif
 | 
						|
 | 
						|
#if !UMA_USE_8_6 && UMA_USE_WINDOWMGR
 | 
						|
#undef UMA_USE_WINDOWMGR
 | 
						|
#define UMA_USE_WINDOWMGR 0
 | 
						|
#endif
 | 
						|
 | 
						|
#if !TARGET_CARBON
 | 
						|
//  this is now defined in the latest headers
 | 
						|
//	typedef short MenuItemIndex  ;
 | 
						|
#endif
 | 
						|
 | 
						|
void UMAInitToolbox( UInt16 inMoreMastersCalls) ;
 | 
						|
void UMACleanupToolbox() ;
 | 
						|
bool UMAHasAppearance() ;
 | 
						|
long UMAGetAppearanceVersion() ;
 | 
						|
 | 
						|
// process manager
 | 
						|
 | 
						|
long UMAGetProcessMode() ;
 | 
						|
bool UMAGetProcessModeDoesActivateOnFGSwitch() ;
 | 
						|
 | 
						|
// menu manager
 | 
						|
 | 
						|
void 			UMASetMenuTitle( MenuRef menu , StringPtr title ) ;
 | 
						|
UInt32 			UMAMenuEvent( EventRecord *inEvent ) ;
 | 
						|
void 			UMAEnableMenuItem( MenuRef inMenu , MenuItemIndex item ) ;	
 | 
						|
void 			UMADisableMenuItem( MenuRef inMenu , MenuItemIndex item ) ;	
 | 
						|
void			UMAAppendSubMenuItem( MenuRef menu , StringPtr label , SInt16 submenuid ) ;
 | 
						|
void			UMAInsertSubMenuItem( MenuRef menu , StringPtr label , MenuItemIndex item , SInt16 submenuid  ) ;
 | 
						|
void			UMAAppendMenuItem( MenuRef menu , StringPtr label , SInt16 key= 0, UInt8 modifiers = 0 ) ;
 | 
						|
void			UMAInsertMenuItem( MenuRef menu , StringPtr label , MenuItemIndex item , SInt16 key = 0 , UInt8 modifiers = 0 ) ;
 | 
						|
void			UMASetMenuItemText( MenuRef menu , MenuItemIndex item , StringPtr label ) ;
 | 
						|
 | 
						|
MenuRef			UMANewMenu( SInt16 menuid , StringPtr label ) ;
 | 
						|
void 			UMADisposeMenu( MenuRef menu ) ;
 | 
						|
 | 
						|
// handling the menubar
 | 
						|
 | 
						|
void			UMADeleteMenu( SInt16 menuId ) ;
 | 
						|
void			UMAInsertMenu( MenuRef insertMenu , SInt16 afterId ) ;
 | 
						|
void			UMADrawMenuBar() ;
 | 
						|
 | 
						|
// quickdraw
 | 
						|
 | 
						|
void			UMAShowWatchCursor() ;
 | 
						|
void			UMAShowArrowCursor() ;
 | 
						|
 | 
						|
#if TARGET_CARBON && PM_USE_SESSION_APIS
 | 
						|
OSStatus		UMAPrOpen(PMPrintSession *macPrintSession) ;
 | 
						|
OSStatus		UMAPrClose(PMPrintSession *macPrintSession) ;
 | 
						|
#else
 | 
						|
OSStatus		UMAPrOpen() ;
 | 
						|
OSStatus		UMAPrClose() ;
 | 
						|
#endif
 | 
						|
 | 
						|
// window manager
 | 
						|
 | 
						|
GrafPtr		UMAGetWindowPort( WindowRef inWindowRef ) ;
 | 
						|
void		 	UMADisposeWindow( WindowRef inWindowRef ) ;
 | 
						|
void 			UMASetWTitleC( WindowRef inWindowRef , const char *title ) ;
 | 
						|
void 			UMAGetWTitleC( WindowRef inWindowRef , char *title ) ;
 | 
						|
 | 
						|
void 			UMADrawGrowIcon( WindowRef inWindowRef ) ;
 | 
						|
void			UMAShowWindow( WindowRef inWindowRef ) ;
 | 
						|
void			UMAHideWindow( WindowRef inWindowRef ) ;
 | 
						|
void			UMAShowHide( WindowRef inWindowRef , Boolean show) ;
 | 
						|
void 			UMASelectWindow( WindowRef inWindowRef ) ;
 | 
						|
void			UMABringToFront( WindowRef inWindowRef ) ;
 | 
						|
void			UMASendBehind( WindowRef inWindowRef , WindowRef behindWindow ) ;
 | 
						|
void			UMACloseWindow(WindowRef inWindowRef) ;
 | 
						|
 | 
						|
// appearance manager
 | 
						|
 | 
						|
void 			UMADrawControl( ControlHandle inControl ) ;
 | 
						|
 | 
						|
void 			UMAEnableControl( ControlHandle inControl ) ;
 | 
						|
void			UMADisableControl( ControlHandle inControl ) ;
 | 
						|
void 			UMAActivateControl( ControlHandle inControl ) ;
 | 
						|
void			UMADeactivateControl( ControlHandle inControl ) ;
 | 
						|
void			UMAApplyThemeBackground			(ThemeBackgroundKind 	inKind,
 | 
						|
								 const Rect *			bounds,
 | 
						|
								 ThemeDrawState 		inState,
 | 
						|
								 SInt16 				inDepth,
 | 
						|
								 Boolean 				inColorDev);
 | 
						|
void			UMASetThemeWindowBackground		(WindowRef 				inWindow,
 | 
						|
								 ThemeBrush 			inBrush,
 | 
						|
								 Boolean 				inUpdate)	;
 | 
						|
ControlHandle UMANewControl(WindowPtr 				owningWindow,
 | 
						|
								 const Rect *			boundsRect,
 | 
						|
								 ConstStr255Param 		controlTitle,
 | 
						|
								 Boolean 				initiallyVisible,
 | 
						|
								 SInt16 				initialValue,
 | 
						|
								 SInt16 				minimumValue,
 | 
						|
								 SInt16 				maximumValue,
 | 
						|
								 SInt16 				procID,
 | 
						|
								 SInt32 				controlReference)	;
 | 
						|
void UMADisposeControl (ControlHandle 			theControl)	;
 | 
						|
void UMAHiliteControl	(ControlHandle 			theControl,
 | 
						|
								 ControlPartCode 		hiliteState)	;
 | 
						|
void UMAShowControl						(ControlHandle 			theControl)	;
 | 
						|
void UMAHideControl						(ControlHandle 			theControl);
 | 
						|
void UMASetControlVisibility			(ControlHandle 			inControl,
 | 
						|
								 Boolean 				inIsVisible,
 | 
						|
								 Boolean 				inDoDraw);
 | 
						|
 | 
						|
bool UMAIsControlActive					(ControlHandle 			inControl);
 | 
						|
bool UMAIsControlVisible				(ControlHandle 			inControl);
 | 
						|
void UMAActivateControl					(ControlHandle 			inControl);
 | 
						|
void UMADeactivateControl				(ControlHandle 			inControl);
 | 
						|
 | 
						|
OSErr UMAGetBestControlRect				(ControlHandle 			inControl,
 | 
						|
								 Rect *					outRect,
 | 
						|
								 SInt16 *				outBaseLineOffset);
 | 
						|
OSErr UMASetControlFontStyle				(ControlHandle 			inControl,
 | 
						|
								 const ControlFontStyleRec * inStyle)	;
 | 
						|
 | 
						|
 | 
						|
void UMAMoveControl( ControlHandle inControl , short x , short y ) ;
 | 
						|
void UMASizeControl( ControlHandle inControl , short x , short y ) ;
 | 
						|
// control hierarchy
 | 
						|
 | 
						|
OSErr UMACreateRootControl				(WindowPtr 				inWindow,
 | 
						|
								 ControlHandle *		outControl) ;
 | 
						|
 | 
						|
OSErr UMAEmbedControl					(ControlHandle 			inControl,
 | 
						|
								 ControlHandle 			inContainer);
 | 
						|
 | 
						|
// keyboard focus
 | 
						|
OSErr UMASetKeyboardFocus				(WindowPtr 				inWindow,
 | 
						|
								 ControlHandle 			inControl,
 | 
						|
								 ControlFocusPart 		inPart)	;
 | 
						|
 | 
						|
 | 
						|
// events
 | 
						|
 | 
						|
ControlPartCode UMAHandleControlClick				(ControlHandle 			inControl,
 | 
						|
								 Point 					inWhere,
 | 
						|
								 SInt16 				inModifiers,
 | 
						|
								 ControlActionUPP 		inAction) ;
 | 
						|
SInt16 UMAHandleControlKey				(ControlHandle 			inControl,
 | 
						|
								 SInt16 				inKeyCode,
 | 
						|
								 SInt16 				inCharCode,
 | 
						|
								 SInt16 				inModifiers);
 | 
						|
								 
 | 
						|
void UMAIdleControls					(WindowPtr 				inWindow)	;
 | 
						|
 | 
						|
void UMAUpdateControls( WindowPtr inWindow , RgnHandle inRgn ) ;
 | 
						|
OSErr UMAGetRootControl( WindowPtr inWindow , ControlHandle *outControl ) ;
 | 
						|
 | 
						|
// handling control data
 | 
						|
 | 
						|
OSErr UMASetControlData					(ControlHandle 			inControl,
 | 
						|
								 ControlPartCode 		inPart,
 | 
						|
								 ResType 				inTagName,
 | 
						|
								 Size 					inSize,
 | 
						|
								 Ptr 					inData)		;
 | 
						|
 | 
						|
OSErr UMAGetControlData					(ControlHandle 			inControl,
 | 
						|
								 ControlPartCode 		inPart,
 | 
						|
								 ResType 				inTagName,
 | 
						|
								 Size 					inBufferSize,
 | 
						|
								 Ptr 					outBuffer,
 | 
						|
								 Size *					outActualSize) ;
 | 
						|
OSErr UMAGetControlDataSize				(ControlHandle 			inControl,
 | 
						|
								 ControlPartCode 		inPart,
 | 
						|
								 ResType 				inTagName,
 | 
						|
								 Size *					outMaxSize);
 | 
						|
 | 
						|
 | 
						|
// system 8.0
 | 
						|
 | 
						|
short 		UMAFindWindow( Point inPoint , WindowRef *outWindow ) ;
 | 
						|
OSStatus 	UMAGetWindowFeatures( WindowRef inWindowRef , UInt32 *outFeatures ) ;
 | 
						|
OSStatus 	UMAGetWindowRegion( WindowRef inWindowRef , WindowRegionCode inRegionCode , RgnHandle ioWinRgn ) ;
 | 
						|
OSStatus 	UMACollapseWindow( WindowRef inWindowRef , Boolean inCollapseIt ) ;
 | 
						|
OSStatus 	UMACollapseAllWindows( Boolean inCollapseEm ) ;
 | 
						|
Boolean 	UMAIsWindowCollapsed( WindowRef inWindowRef ) ;
 | 
						|
Boolean UMAIsWindowCollapsable( WindowRef inWindowRef ) ;
 | 
						|
 | 
						|
// system 8.5
 | 
						|
 | 
						|
OSStatus 	UMACreateNewWindow( WindowClass windowClass , WindowAttributes attributes , const Rect *bounds,  WindowRef *outWindow ) ;
 | 
						|
OSStatus 	UMAGetWindowClass( WindowRef inWindowRef , WindowClass *outWindowClass ) ;
 | 
						|
OSStatus	UMAGetWindowAttributes( WindowRef inWindowRef , WindowAttributes *outAttributes ) ;
 | 
						|
 | 
						|
void 			UMAShowFloatingWindows() ;
 | 
						|
void 			UMAHideFloatingWindows() ;
 | 
						|
Boolean 	UMAAreFloatingWindowsVisible() ;
 | 
						|
WindowRef UMAFrontWindow() ;
 | 
						|
WindowRef UMAFrontNonFloatingWindow() ;
 | 
						|
 | 
						|
// floaters support
 | 
						|
 | 
						|
bool			UMAIsWindowFloating( WindowRef inWindow ) ;
 | 
						|
bool			UMAIsWindowModal( WindowRef inWindow ) ;
 | 
						|
WindowRef UMAGetActiveWindow() ;
 | 
						|
WindowRef UMAGetActiveNonFloatingWindow() ;
 | 
						|
 | 
						|
void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) ;
 | 
						|
 | 
						|
#if !TARGET_CARBON
 | 
						|
#define GetPortTextFont( p) ((p)->txFont )
 | 
						|
#define GetPortTextSize( p) ((p)->txSize )
 | 
						|
#define GetPortTextFace( p) ((p)->txFace )
 | 
						|
#define GetPortTextMode( p) ((p)->txMode )
 | 
						|
#define GetRegionBounds( r , b) ((*b) = (**r).rgnBBox)
 | 
						|
#define GetPortBounds( p , b) ((*b) = p->portRect )
 | 
						|
#define GetWindowPortBounds( p , b) ((*b) = p->portRect )
 | 
						|
#define	GetPortVisibleRegion( p, r ) CopyRgn( p->visRgn , r )
 | 
						|
#define GetQDGlobalsWhite( a ) (&((*a) = qd.white))
 | 
						|
#define GetQDGlobalsBlack( a ) (&((*a) = qd.black))
 | 
						|
#define GetQDGlobalsScreenBits( a ) (*a) = qd.screenBits
 | 
						|
#define GetQDGlobalsArrow( a ) (&((*a) = qd.arrow))
 | 
						|
#define GetControlBounds( c , b ) &((*b) = (**c).contrlRect )
 | 
						|
#define GetPortBitMapForCopyBits( p ) ((BitMap*) &(((CGrafPtr)p)->portPixMap ))
 | 
						|
#endif
 | 
						|
 | 
						|
// Appearance Drawing
 | 
						|
 | 
						|
OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState ) ;
 | 
						|
 | 
						|
#endif
 |