wxWidgets/include/wx/mac/uma.h

194 lines
6.4 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// Name: uma.h
// Purpose: Universal MacOS API
// Author: Stefan Csomor
// Modified by:
// Created: 03/02/99
// RCS-ID: $Id:
// Copyright: (c) Stefan Csomor
// Licence: LGPL 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
// define this to be 1 if you have the carbon libs (weak linked or PreCarbon.lib)
#define UMA_USE_CARBON 0
#define UMA_USE_APPEARANCE 1
#define UMA_USE_WINDOWMGR 1
#if !UMA_USE_8_6 && UMA_USE_WINDOWMGR
#undef UMA_USE_WINDOWMGR
#define UMA_USE_WINDOWMGR 0
#endif
#if !TARGET_CARBON
typedef short MenuItemIndex ;
#endif
void UMAInitToolbox( UInt16 inMoreMastersCalls) ;
bool UMAHasAppearance() ;
long UMAGetAppearanceVersion() ;
// process manager
long UMAGetProcessMode() ;
bool UMAGetProcessModeDoesActivateOnFGSwitch() ;
// menu manager
void UMASetMenuTitle( MenuRef menu , ConstStr255Param title ) ;
UInt32 UMAMenuEvent( EventRecord *inEvent ) ;
void UMAEnableMenuItem( MenuRef inMenu , MenuItemIndex item ) ;
void UMADisableMenuItem( MenuRef inMenu , MenuItemIndex item ) ;
// quickdraw
void UMAShowWatchCursor() ;
void UMAShowArrowCursor() ;
// 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 UMAActivateControl( ControlHandle inControl ) ;
void UMADeactivateControl( ControlHandle inControl ) ;
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 ) ;
#endif