// Created: 03/02/99
// RCS-ID: $Id:
// Copyright: (c) Stefan Csomor
-// Licence: LGPL licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef H_UMA
#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 <Carbon/Carbon.h>
+ #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
#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() ;
// 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 ) ;
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) ;
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