ORCA-C/ORCACDefs/menu.h

227 lines
9.4 KiB
C

/********************************************
*
* Menu Manager
*
* Copyright Apple Computer, Inc. 1986-91
* All Rights Reserved
*
* CopyRight 1992, Byte Works, Inc.
*
********************************************/
#ifndef __TYPES__
#include <TYPES.h>
#endif
#ifndef __MENU__
#define __MENU__
/* error codes */
#define menuStarted 0x0F01
#define menuItemNotFound 0x0F02
#define menuNoStruct 0x0F03
#define dupMenuID 0x0F04
/* InsertPathMItems bit flags */
#define ipmiNotExpanded 0x0010
#define ipmiDevNumValid 0x0008
#define ipmiOpenFolders 0x0004
#define ipmiDeviceAtTop 0x0001
/* MenuDefProc Codes */
#define mDrawMsg 0x0000
#define mChooseMsg 0x0001
#define mSizeMsg 0x0002
#define mDrawTitle 0x0003
#define mDrawMItem 0x0004
#define mGetMItemID 0x0005
/* Reference Flags */
#define menuRefPtr 0x0000
#define mRefHandle 0x4000
#define mRefResource 0x8000
/* Menu Flags */
#define menuAllowCache 0x0008
#define menuCustom 0x0010
#define menuXOR 0x0020
#define menuDisabled 0x0080
#define menuAlwaysCallMChoose 0x0100
/* Item Flags */
#define itemBold 0x0001
#define itemItalic 0x0002
#define itemUnderline 0x0004
#define itemXOR 0x0020
#define itemDivider 0x0040
#define itemDisabled 0x0080
#define itemOutline 0x0800
#define itemShadow 0x1000
/* Old Menu Flags */
#define mInvis 0x0004
#define mCustom 0x0010
#define mXor 0x0020
#define mSelected 0x0040
#define mDisabled 0x0080
/* MenuFlag Masks */
#define menuCacheMask 0x0008
#define customMenu 0x0010
#define xorMItemHilite 0x0020
#define xorTitleHilite 0x0020
#define underMItem 0x0040
#define disableItem 0x0080
#define disableMenu 0x0080
#define enableItem 0xFF7F
#define enableMenu 0xFF7F
#define noUnderMItem 0xFFBF
#define colorMItemHilite 0xFFDF
#define colorTitleHilite 0xFFDF
#define colorReplace 0xFFDF
#define standardMenu 0xFFEF
/* Other misc constants */
#define type2 0x0040
#ifndef mtItemRefArrayLength /* MenuTemplate - default number of Ref's */
#define mtItemRefArrayLength 0x0005
#endif
#ifndef mbtMenuRefArrayLength /* MenuBarTemplate - default number of Ref's */
#define mbtMenuRefArrayLength 0x0005
#endif
typedef CtlRec MenuBarRec, *MenuBarRecPtr, **MenuBarRecHndl;
struct MenuRec {
Word menuID; /* Menu's ID number */
Word menuWidth; /* Width of menu */
Word menuHeight; /* Height of menu */
WordProcPtr menuProc; /* Menu's definition procedure */
Word menuFlag; /* Bit flags */
Word numOfItems;
Word titleWidth; /* Width of menu's title */
Pointer titleName;
Handle menuCache;
};
typedef struct MenuRec MenuRec, *MenuRecPtr, **MenuRecHndl;
struct MenuItemTemplate {
Word version; /* Version number (must be 0) */
Word itemID; /* Menu item ID */
Byte itemChar; /* Primary keystroke character */
Byte itemAltChar; /* Alternate keystroke character */
Word itemCheck; /* Character code for checked items */
Word itemFlag; /* Menu item flag word */
Ref itemTitleRef; /* Reference to item title string */
} ;
typedef struct MenuItemTemplate MenuItemTemplate;
struct MenuTemplate {
Word version; /* Version number (must be 0) */
Word menuID; /* Menu ID */
Word menuFlag; /* Menu flag word */
Ref menuTitleRef; /* Reference to menu title string */
Ref itemRefArray[mtItemRefArrayLength]; /* mtItemRefArrayLength references to menu items */
};
typedef struct MenuTemplate MenuTemplate;
struct MenuBarTemplate {
Word version; /* Version number (must be 0) */
Word menuFlag; /* MenuBar flag word */
Ref menuRefArray[mbtMenuRefArrayLength]; /* mbtMenuRefArrayLength references to menus */
};
typedef struct MenuBarTemplate MenuBarTemplate;
typedef struct itemStruct {
Word itemFlag2;
Ref itemTitleRef;
Ref itemIconRef;
};
typedef struct itemStruct itemStruct;
typedef struct ipmiResultRec {
Word highestID;
Handle tempHandle1, tempHandle2;
};
typedef struct ipmiResultRec ipmiResultRec;
extern pascal void MenuBootInit(void) inline(0x010F,dispatcher);
extern pascal void MenuStartUp(Word, Word) inline(0x020F,dispatcher);
extern pascal void MenuShutDown(void) inline(0x030F,dispatcher);
extern pascal Word MenuVersion(void) inline(0x040F,dispatcher);
extern pascal void MenuReset(void) inline(0x050F,dispatcher);
extern pascal Boolean MenuStatus(void) inline(0x060F,dispatcher);
extern pascal void CalcMenuSize(Word, Word, Word) inline(0x1C0F,dispatcher);
extern pascal void CheckMItem(Boolean, Word) inline(0x320F,dispatcher);
extern pascal Word CountMItems(Word) inline(0x140F,dispatcher);
extern pascal void DeleteMenu(Word) inline(0x0E0F,dispatcher);
extern pascal void DeleteMItem(Word) inline(0x100F,dispatcher);
extern pascal void DisableMItem(Word) inline(0x310F,dispatcher);
extern pascal void DisposeMenu(MenuRecHndl) inline(0x2E0F,dispatcher);
extern pascal void DrawMenuBar(void) inline(0x2A0F,dispatcher);
extern pascal void EnableMItem(Word) inline(0x300F,dispatcher);
extern pascal Word FixMenuBar (void) inline(0x130F,dispatcher);
extern pascal void FlashMenuBar(void) inline(0x0C0F,dispatcher);
extern pascal LongWord GetBarColors(void) inline(0x180F,dispatcher);
extern pascal MenuBarRecHndl GetMenuBar(void) inline(0x0A0F,dispatcher);
extern pascal Word GetMenuFlag(Word) inline(0x200F,dispatcher);
extern pascal GrafPortPtr GetMenuMgrPort(void) inline(0x1B0F,dispatcher);
extern pascal Pointer GetMenuTitle(Word) inline(0x220F,dispatcher);
extern pascal MenuRecHndl GetMHandle(Word) inline(0x160F,dispatcher);
extern pascal StringPtr GetMItem(Word) inline(0x250F,dispatcher);
extern pascal Word GetMItemFlag(Word) inline(0x270F,dispatcher);
extern pascal Word GetMItemMark(Word) inline(0x340F,dispatcher);
extern pascal TextStyle GetMItemStyle(Word) inline(0x360F,dispatcher);
extern pascal Word GetMTitleStart(void) inline(0x1A0F,dispatcher);
extern pascal Word GetMTitleWidth(Word) inline(0x1E0F,dispatcher);
extern pascal MenuBarRecHndl GetSysBar(void) inline(0x110F,dispatcher);
extern pascal void HiliteMenu(Boolean, Word) inline(0x2C0F,dispatcher);
extern pascal void InitPalette(void) inline(0x2F0F,dispatcher);
extern pascal void InsertMenu(MenuRecHndl, Word) inline(0x0D0F,dispatcher);
extern pascal void InsertMItem(Pointer, Word, Word) inline(0x0F0F,dispatcher);
extern pascal Word MenuGlobal(Word) inline(0x230F,dispatcher);
extern pascal void MenuKey(WmTaskRecPtr, MenuRecHndl) inline(0x090F,dispatcher);
extern pascal void MenuNewRes(void) inline(0x290F,dispatcher);
extern pascal void MenuRefresh(VoidProcPtr) inline(0x0B0F,dispatcher);
extern pascal void MenuSelect(WmTaskRecPtr, MenuRecHndl) inline(0x2B0F,dispatcher);
extern pascal MenuRecHndl NewMenu(Pointer) inline(0x2D0F,dispatcher);
extern pascal MenuBarRecHndl NewMenuBar(GrafPortPtr) inline(0x150F,dispatcher);
extern pascal void SetBarColors(Word, Word, Word) inline(0x170F,dispatcher);
extern pascal void SetMenuBar(MenuBarRecHndl) inline(0x390F,dispatcher);
extern pascal void SetMenuFlag(Word, Word) inline(0x1F0F,dispatcher);
extern pascal void SetMenuID(Word, Word) inline(0x370F,dispatcher);
extern pascal void SetMenuTitle(Pointer, Word) inline(0x210F,dispatcher);
extern pascal void SetMItem(Pointer, Word) inline(0x240F,dispatcher);
extern pascal void SetMItemBlink(Word) inline(0x280F,dispatcher);
extern pascal void SetMItemFlag(Word, Word) inline(0x260F,dispatcher);
extern pascal void SetMItemID(Word, Word) inline(0x380F,dispatcher);
extern pascal void SetMItemMark(Word, Word) inline(0x330F,dispatcher);
extern pascal void SetMItemName(Pointer, Word) inline(0x3A0F,dispatcher);
extern pascal void SetMItemStyle(TextStyle, Word) inline(0x350F,dispatcher);
extern pascal void SetMTitleStart(Word) inline(0x190F,dispatcher);
extern pascal void SetMTitleWidth(Word, Word) inline(0x1D0F,dispatcher);
extern pascal void SetSysBar(MenuBarRecHndl) inline(0x120F,dispatcher);
extern pascal Pointer GetPopUpDefProc(void) inline(0x3B0F,dispatcher);
extern pascal void HideMenuBar(void) inline(0x450F,dispatcher);
extern pascal void InsertMItem2(Word, Ref, Word, Word) inline(0x3F0F,dispatcher);
extern pascal MenuRecHndl NewMenu2(Word, Ref) inline(0x3E0F,dispatcher);
extern pascal MenuBarRecHndl NewMenuBar2(Word, Ref, Pointer) inline(0x430F,dispatcher);
extern pascal Word PopUpMenuSelect(Word, Word, Word, Word, MenuRecHndl) inline(0x3C0F,dispatcher);
extern pascal void SetMenuTitle2(Word, Ref, Word) inline(0x400F,dispatcher);
extern pascal void SetMItem2(Word, Ref, Word) inline(0x410F,dispatcher);
extern pascal void SetMItemName2(Word, Ref, Word) inline(0x420F,dispatcher);
extern pascal void ShowMenuBar(void) inline(0x460F,dispatcher);
extern pascal Word GetMItemBlink(void) inline(0x4F0F,dispatcher);
extern pascal Word GetMItemFlag2(Word) inline(0x4C0F,dispatcher);
extern pascal Ref GetMItemIcon(Word) inline(0x480F,dispatcher);
extern pascal Ref GetMItemStruct(Word) inline(0x4A0F,dispatcher);
extern pascal void InsertPathMItems(Word, Pointer, Word, Word, Word, Word, Ptr) inline(0x500F,dispatcher);
extern pascal void RemoveMItemStruct(Word) inline(0x4B0F,dispatcher);
extern pascal void SetMItemFlag2(Word, Word) inline(0x4D0F,dispatcher);
extern pascal void SetMItemIcon(Word, Ref, Word) inline(0x470F,dispatcher);
extern pascal void SetMItemStruct(Word, Ref, Word) inline(0x490F,dispatcher);
#endif