mac-rom/Internal/C/MenuMgrPriv.h
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

120 lines
3.9 KiB
C

/*
File: MenuMgrPriv.h
Contains: Private interface to the Menu Manager.
Written by: Kevin S. MacDonell
Copyright: © 1989-1993 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<4> 3/31/93 IH Add CalcMenuBar call for Display Manager.
<6> 11/5/92 JSM Add interfaces to more private routines, add SavedBitsRecord and
OffscreenBufferRecord, although we can't really represent the
latter in C the way it's defined in assembly.
<5> 9/16/92 JSM SaveBits takes a Rect*, not a Rect.
<4> 2/5/91 stb gs: move in SaveBits, RestoreBits, DiscardBits
<3> 1/21/91 DFH (KSM) Added System Menu constants from MenuMgrPriv.a.
<2> 6/8/90 KSM Add IsSystemMenu call.
<1> 5/21/90 KSM New today.
*/
#ifndef __MENUMGRPRIV__
#define __MENUMGRPRIV__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __MENUS__
#include <Menus.h>
#endif
/* System Menu IDs as we know them */
#define kLoSystemMenuRange ((short) 0xB000) /* This is -20480 (the lowest value) */
#define kHiSystemMenuRange ((short) 0xBFFF) /* This is -16385 (the highest value) */
#define kApplicationMenuID ((short) 0xBF97) /* -16489: The application menu ID */
#define kHelpMenuID ((short) 0xBF96) /* -16490: The help menu ID */
#define kScriptMenuID ((short) 0xBF95) /* -16491: The keyboard menu ID */
/* Save/RestoreBits data structures */
struct SavedBitsRecord {
Rect rectangle; // the rectangle
PixMapHandle pixMap; // the pixMap handle
};
typedef struct SavedBitsRecord SavedBitsRecord;
typedef SavedBitsRecord *SavedBitsRecordPtr, **SavedBitsRecordHandle;
typedef SavedBitsRecordHandle SavedBits; /* For Save/Restore/Discard Bits calls */
struct OffscreenBufferRecord {
Rect rectangle; // the rectangle (local coordinates)
PixMapHandle bufferPixMap; // the pixMap of the buffer
GDHandle bufferGDevice; // the gDevice for drawing in the buffer
BitMap savedPortBits; // the old bitmap of the port (for B&W)
// ¥¥¥ in assembly, the following two fields are ORGed
// to start at savedPortBits, since we never use both
// at once
// PixMapHandle savedPortPixMap; // the old pixMap of the port
GDHandle savedGDevice; // the old gDevice for the port
};
typedef struct OffscreenBufferRecord OffscreenBufferRecord;
typedef OffscreenBufferRecord *OffscreenBufferRecordPtr, **OffscreenBufferRecordHandle;
typedef OffscreenBufferRecordHandle OffscreenBuffer; /* For Begin/EndDrawingOffscreen calls */
/* Private routines */
pascal OSErr GetMenuTitleRect(short menuID, Rect* theRect)
= {0x303C,0x04FF,0xA825};
pascal OSErr GetMBARRect(Rect* theRect)
= {0x303C,0x04FE,0xA825};
pascal OSErr GetAppMenusRect(Rect* theRect)
= {0x303C,0x04FD,0xA825};
pascal OSErr GetSysMenusRect(Rect* theRect)
= {0x303C,0x04FC,0xA825};
pascal OSErr DrawMBARString(char* bannerMsg,short scriptID, short teJust)
= {0x303C,0x08FB,0xA825};
pascal OSErr IsSystemMenu(short menuID, Boolean *isSys)
= {0x303C,0x03FA,0xA825};
pascal OSErr CalcMenuBar(short menuID)
= {0x303C,0x01F5,0xA825};
pascal OSErr SaveBits(Rect* saveRect, Boolean purgeable, SavedBits *bits)
= {0x303C,0x0501,0xA81E};
pascal OSErr RestoreBits(SavedBits bits)
= {0x303C,0x0202,0xA81E};
pascal OSErr DiscardBits(SavedBits bits)
= {0x303C,0x0203,0xA81E};
pascal OSErr BeginDrawingOffscreen(Rect *bufferRect, OffscreenBuffer *buffer)
= {0x303C,0x0404,0xA81E};
pascal OSErr EndDrawingOffscreen(OffscreenBuffer buffer)
= {0x303C,0x0205,0xA81E};
pascal OSErr NewOffscreenBuffer(Rect *bufferRect, Boolean purgeable, OffscreenBuffer *buffer)
= {0x303C,0x0506,0xA81E};
pascal OSErr AttachOffscreenBuffer(OffscreenBuffer buffer)
= {0x303C,0x0207,0xA81E};
pascal OSErr DetachOffscreenBuffer(OffscreenBuffer buffer)
= {0x303C,0x0208,0xA81E};
pascal OSErr DisposeOffscreenBuffer(OffscreenBuffer buffer)
= {0x303C,0x0209,0xA81E};
#endif __MENUMGRPRIV__