X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/93f0fe75dd4ac59ef50b8bb2ce90738cb6a717b7..00f6001fa5037e143a1a6904772239832f7ca931:/include/wx/mac/uma.h diff --git a/include/wx/mac/uma.h b/include/wx/mac/uma.h index 6133502a6b..0d4399a04f 100644 --- a/include/wx/mac/uma.h +++ b/include/wx/mac/uma.h @@ -4,256 +4,129 @@ // Author: Stefan Csomor // Modified by: // Created: 03/02/99 -// RCS-ID: $Id: +// RCS-ID: $Id: // Copyright: (c) Stefan Csomor -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef H_UMA #define H_UMA -// define this to be 1 if you have the 8.6 libs (weak linked) +#include "wx/mac/private.h" -#define UMA_USE_8_6 0 - -#if TARGET_CARBON -#undef UMA_USE_8_6 -#define UMA_USE_8_6 1 -#endif - -#if defined(__POWERPC__) || defined(__APPLE__) - #define UMA_USE_APPEARANCE 1 - #define UMA_USE_WINDOWMGR 1 - #if defined(__APPLE__) - #include - #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 UMAInitToolbox( UInt16 inMoreMastersCalls, bool isEmbedded) ; void UMACleanupToolbox() ; +long UMAGetSystemVersion() ; bool UMAHasAppearance() ; long UMAGetAppearanceVersion() ; +bool UMAHasWindowManager() ; +long UMAGetWindowManagerAttr() ; +bool UMAHasAquaLayout() ; + +bool UMASystemIsInitialized() ; +void UMASetSystemIsInitialized(bool val); // process manager long UMAGetProcessMode() ; bool UMAGetProcessModeDoesActivateOnFGSwitch() ; -// menu manager +#if wxUSE_GUI -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 ) ; +// menu manager -MenuRef UMANewMenu( SInt16 menuid , StringPtr label ) ; -void UMADisposeMenu( MenuRef menu ) ; +MenuRef UMANewMenu( SInt16 id , const wxString& title ) ; +void UMASetMenuTitle( MenuRef menu , const wxString& title ) ; +UInt32 UMAMenuEvent( EventRecord *inEvent ) ; +void UMAEnableMenuItem( MenuRef inMenu , MenuItemIndex item , bool enable ) ; -// handling the menubar +void UMAAppendSubMenuItem( MenuRef menu , const wxString& title , SInt16 submenuid ) ; +void UMAInsertSubMenuItem( MenuRef menu , const wxString& title , MenuItemIndex item , SInt16 submenuid ) ; +void UMAAppendMenuItem( MenuRef menu , const wxString& title , wxAcceleratorEntry *entry = NULL ) ; +void UMAInsertMenuItem( MenuRef menu , const wxString& title , MenuItemIndex item , wxAcceleratorEntry *entry = NULL ) ; +void UMASetMenuItemShortcut( MenuRef menu , MenuItemIndex item , wxAcceleratorEntry *entry ) ; -void UMADeleteMenu( SInt16 menuId ) ; -void UMAInsertMenu( MenuRef insertMenu , SInt16 afterId ) ; -void UMADrawMenuBar() ; +void UMASetMenuItemText( MenuRef menu, MenuItemIndex item, const wxString& title ) ; // quickdraw -void UMAShowWatchCursor() ; -void UMAShowArrowCursor() ; +void UMAShowWatchCursor() ; +void UMAShowArrowCursor() ; -#if TARGET_CARBON && PM_USE_SESSION_APIS -OSStatus UMAPrOpen(PMPrintSession *macPrintSession) ; -OSStatus UMAPrClose(PMPrintSession *macPrintSession) ; -#else -OSStatus UMAPrOpen() ; -OSStatus UMAPrClose() ; +#if !TARGET_CARBON +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 ) ; +GrafPtr UMAGetWindowPort( WindowRef inWindowRef ) ; +void UMADisposeWindow( WindowRef inWindowRef ) ; +void UMASetWTitle( WindowRef inWindowRef , const wxString& 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) ; +void UMADrawGrowIcon( WindowRef inWindowRef ) ; +void UMAShowHide( WindowRef inWindowRef , Boolean show) ; // 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 UMADrawControl( ControlHandle inControl ) ; +void UMAEnableControl( ControlHandle inControl ) ; +void UMADisableControl( ControlHandle inControl ) ; +void UMAActivateControl( ControlHandle inControl ) ; +void UMADeactivateControl( ControlHandle inControl ) ; +// ControlPartCode hiliteState) ; +void UMAShowControl (ControlHandle theControl) ; +void UMAHideControl (ControlHandle theControl); +void UMAActivateControl (ControlHandle inControl); +void UMADeactivateControl (ControlHandle inControl); +void UMASetControlTitle( ControlHandle inControl , const wxString& title ) ; 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) ; - +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() ; +bool UMAIsWindowFloating( WindowRef inWindow ) ; +bool UMAIsWindowModal( WindowRef inWindow ) ; 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 +OSStatus UMAGetHelpMenu( + MenuRef * outHelpMenu, + MenuItemIndex * outFirstCustomItemIndex); /* can be NULL */ // Appearance Drawing OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState ) ; +// Clipboard support + +OSStatus UMAPutScrap( Size size , OSType type , void *data ) ; + +// accessor helpers + +#if !TARGET_CARBON +#define ClearCurrentScrap() ZeroScrap() ; +#define GetApplicationScript() smSystemScript +#else + +// calls not in carbon + +#endif +#define GetWindowUpdateRgn( inWindow , updateRgn ) GetWindowRegion( inWindow , kWindowUpdateRgn, updateRgn ) + +#endif // wxUSE_GUI + #endif