// Created: 03/02/99
// RCS-ID: $Id:
// Copyright: (c) Stefan Csomor
-// Licence: LGPL licence
+// 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 __POWERPC__
-#define UMA_USE_APPEARANCE 1
-#define UMA_USE_WINDOWMGR 1
-#else
-#define UMA_USE_APPEARANCE 0
-#define UMA_USE_WINDOWMGR 0
-#endif
-
-#if !UMA_USE_8_6 && UMA_USE_WINDOWMGR
-#undef UMA_USE_WINDOWMGR
-#define UMA_USE_WINDOWMGR 0
+#if defined(__POWERPC__)
+ #if defined(__DARWIN__)
+ #include <Carbon/Carbon.h>
+ #endif
#endif
#if !TARGET_CARBON
#endif
void UMAInitToolbox( UInt16 inMoreMastersCalls) ;
+void UMACleanupToolbox() ;
bool UMAHasAppearance() ;
long UMAGetAppearanceVersion() ;
+bool UMAHasWindowManager() ;
+long UMAGetWindowManagerAttr() ;
// process manager
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 ) ;
+// void UMASetMenuItemText( MenuRef menu , MenuItemIndex item , StringPtr label ) ;
-MenuRef UMANewMenu( SInt16 menuid , StringPtr label ) ;
-void UMADisposeMenu( MenuRef menu ) ;
+// MenuRef ::NewMenu( SInt16 menuid , StringPtr label ) ;
+// void UMADisposeMenu( MenuRef menu ) ;
// handling the menubar
-void UMADeleteMenu( SInt16 menuId ) ;
-void UMAInsertMenu( MenuRef insertMenu , SInt16 afterId ) ;
-void UMADrawMenuBar() ;
+// void UMADeleteMenu( SInt16 menuId ) ;
+// void UMAInsertMenu( MenuRef insertMenu , SInt16 afterId ) ;
+// void UMADrawMenuBar() ;
// quickdraw
void UMAShowWatchCursor() ;
void UMAShowArrowCursor() ;
-void UMAPrOpen() ;
-void UMAPrClose() ;
+#if TARGET_CARBON && PM_USE_SESSION_APIS
+OSStatus UMAPrOpen(PMPrintSession *macPrintSession) ;
+OSStatus UMAPrClose(PMPrintSession *macPrintSession) ;
+#else
+OSStatus UMAPrOpen() ;
+OSStatus UMAPrClose() ;
+#endif
// window manager
void UMAGetWTitleC( WindowRef inWindowRef , char *title ) ;
void UMADrawGrowIcon( WindowRef inWindowRef ) ;
-void UMAShowWindow( WindowRef inWindowRef ) ;
-void UMAHideWindow( 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 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,
+//void UMAApplyThemeBackground (ThemeBackgroundKind inKind,
+// const Rect * bounds,
+// ThemeDrawState inState,
+// SInt16 inDepth,
+// Boolean inColorDev);
+//void UMASetThemeWindowBackground (WindowRef inWindow,
+// ThemeBrush inBrush,
+// Boolean inUpdate) ;
+/*
+ControlHandle ::NewControl(WindowPtr owningWindow,
const Rect * boundsRect,
ConstStr255Param controlTitle,
Boolean initiallyVisible,
SInt16 maximumValue,
SInt16 procID,
SInt32 controlReference) ;
-void UMADisposeControl (ControlHandle theControl) ;
-void UMAHiliteControl (ControlHandle theControl,
- ControlPartCode hiliteState) ;
+*/
+//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);
+//void UMASetControlVisibility (ControlHandle inControl,
+// Boolean inIsVisible,
+// Boolean inDoDraw);
-bool UMAIsControlActive (ControlHandle inControl);
-bool UMAIsControlVisible (ControlHandle inControl);
+//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) ;
+//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 UMACreateRootControl (WindowPtr inWindow,
+// ControlHandle * outControl) ;
-OSErr UMAEmbedControl (ControlHandle inControl,
- ControlHandle inContainer);
+//OSErr UMAEmbedControl (ControlHandle inControl,
+// ControlHandle inContainer);
// keyboard focus
OSErr UMASetKeyboardFocus (WindowPtr inWindow,
// events
-ControlPartCode UMAHandleControlClick (ControlHandle inControl,
- Point inWhere,
- SInt16 inModifiers,
- ControlActionUPP inAction) ;
-SInt16 UMAHandleControlKey (ControlHandle inControl,
- SInt16 inKeyCode,
- SInt16 inCharCode,
- SInt16 inModifiers);
+//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 UMAIdleControls (WindowPtr inWindow) ;
void UMAUpdateControls( WindowPtr inWindow , RgnHandle inRgn ) ;
OSErr UMAGetRootControl( WindowPtr inWindow , ControlHandle *outControl ) ;
// handling control data
-
-OSErr UMASetControlData (ControlHandle inControl,
+/*
+OSErr ::SetControlData (ControlHandle inControl,
ControlPartCode inPart,
ResType inTagName,
Size inSize,
Ptr inData) ;
-OSErr UMAGetControlData (ControlHandle inControl,
+OSErr ::GetControlData (ControlHandle inControl,
ControlPartCode inPart,
ResType inTagName,
Size inBufferSize,
Ptr outBuffer,
Size * outActualSize) ;
-OSErr UMAGetControlDataSize (ControlHandle inControl,
+OSErr ::GetControlDataSize (ControlHandle inControl,
ControlPartCode inPart,
ResType inTagName,
Size * outMaxSize);
WindowRef UMAFrontNonFloatingWindow() ;
// floaters support
-
+*/
bool UMAIsWindowFloating( WindowRef inWindow ) ;
bool UMAIsWindowModal( WindowRef inWindow ) ;
+/*
WindowRef UMAGetActiveWindow() ;
WindowRef UMAGetActiveNonFloatingWindow() ;
-
+*/
void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) ;
+OSStatus UMAGetHelpMenu(
+ MenuRef * outHelpMenu,
+ MenuItemIndex * outFirstCustomItemIndex); /* can be NULL */
+
#if !TARGET_CARBON
#define GetPortTextFont( p) ((p)->txFont )
#define GetPortTextSize( p) ((p)->txSize )
#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 GetQDGlobalsScreenBits( a ) ((*a) = qd.screenBits)
#define GetQDGlobalsArrow( a ) (&((*a) = qd.arrow))
-#define GetControlBounds( c , b ) ((*b) = (**c).contrlRect )
+#define GetControlBounds( c , b ) &((*b) = (**c).contrlRect )
#define GetPortBitMapForCopyBits( p ) ((BitMap*) &(((CGrafPtr)p)->portPixMap ))
-#endif
+#define GetControlOwner( control ) ((**control).contrlOwner)
+#define InvalWindowRgn( window , rgn ) InvalRgn( rgn )
+#define GetPortPenMode( p ) (p->pnMode)
+#define SetPortPenMode( p , mode ) (p->pnMode = mode )
+#define ClearCurrentScrap() ZeroScrap() ;
+// control manager
+
+#define GetControlReference( control ) ((**control).contrlRfCon)
+
+// list manager
+#define SetListSelectionFlags( list , options ) (**list).selFlags = options
+#define GetListRefCon( list ) (**list).refCon
+
+#endif
+#if TARGET_CARBON
+#define GetWindowUpdateRgn( inWindow , updateRgn ) GetWindowRegion( inWindow , kWindowUpdateRgn, updateRgn )
+#endif
// Appearance Drawing
OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState ) ;
-#endif
\ No newline at end of file
+#endif