X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cfcc3671aee71eb6849c5687500ab26e65943b68..ef344ff86223f1f0961f025c0b249c898529c095:/include/wx/mac/uma.h diff --git a/include/wx/mac/uma.h b/include/wx/mac/uma.h index fd9adb9bcb..ed8cc1997f 100644 --- a/include/wx/mac/uma.h +++ b/include/wx/mac/uma.h @@ -6,7 +6,7 @@ // Created: 03/02/99 // RCS-ID: $Id: // Copyright: (c) Stefan Csomor -// Licence: LGPL licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef H_UMA @@ -16,12 +16,25 @@ #define UMA_USE_8_6 0 -// define this to be 1 if you have the carbon libs (weak linked or PreCarbon.lib) +#if TARGET_CARBON +#undef UMA_USE_8_6 +#define UMA_USE_8_6 1 +#endif -#define UMA_USE_CARBON 0 +#if defined(__POWERPC__) + #define UMA_USE_APPEARANCE 1 + #define UMA_USE_WINDOWMGR 1 + #if defined(__DARWIN__) + #include + #endif +#else + #define UMA_USE_APPEARANCE 1 + #define UMA_USE_WINDOWMGR 0 +#endif -#define UMA_USE_APPEARANCE 1 -#define UMA_USE_WINDOWMGR 1 +#if UMA_USE_APPEARANCE == 0 + #pragma error "wxMac needs appearance" +#endif #if !UMA_USE_8_6 && UMA_USE_WINDOWMGR #undef UMA_USE_WINDOWMGR @@ -29,10 +42,12 @@ #endif #if !TARGET_CARBON - typedef short MenuItemIndex ; +// this is now defined in the latest headers +// typedef short MenuItemIndex ; #endif void UMAInitToolbox( UInt16 inMoreMastersCalls) ; +void UMACleanupToolbox() ; bool UMAHasAppearance() ; long UMAGetAppearanceVersion() ; @@ -43,15 +58,38 @@ bool UMAGetProcessModeDoesActivateOnFGSwitch() ; // menu manager -void UMASetMenuTitle( MenuRef menu , ConstStr255Param title ) ; -UInt32 UMAMenuEvent( EventRecord *inEvent ) ; +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 ) ; @@ -72,8 +110,15 @@ void UMACloseWindow(WindowRef inWindowRef) ; 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) ; @@ -190,5 +235,25 @@ 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 -#endif \ No newline at end of file +// Appearance Drawing + +OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState ) ; + +#endif