mirror of
https://github.com/elliotnunn/sys7.1-doc-wip.git
synced 2024-12-12 04:29:09 +00:00
169 lines
7.6 KiB
Plaintext
169 lines
7.6 KiB
Plaintext
;
|
||
; File: MenuMgrPriv.a
|
||
;
|
||
; Contains: Private equates and macros for using menu manager private calls
|
||
;
|
||
; Written by: Kevin S. MacDonell
|
||
;
|
||
; Copyright: © 1990-1991, 1993 by Apple Computer, Inc., all rights reserved.
|
||
;
|
||
; This file is used in these builds: System
|
||
;
|
||
; Change History (most recent first):
|
||
;
|
||
; <2> 3/31/93 IH Add _CalcMenuBar for Display Manager
|
||
; <12> 8/22/91 KSM DCC,#Bruges: Added utility routine InsertFontResMenu for Finder.
|
||
; <11> 4/16/91 KSM dba,#86852: Add reentrancy bit to fix case where Think Pascal
|
||
; patches DrawMenuBar to call HiliteMenu and we die in a recursive
|
||
; patch conflict.
|
||
; <10> 3/29/91 JSM dba, #84426: Add MenuBarGlobalInvalidBit and
|
||
; MenuBarGlobalInvalidByte.
|
||
; <9> 2/5/91 stb gs: move in SaveBits, RestoreBits, DiscardBits
|
||
; <8> 1/30/91 gbm sab, #38: Change the ‘already including this file’ variable to
|
||
; all uppercase (for security reasons)
|
||
; <7> 1/21/91 DFH (ksm) Changing kProcessMenuID to kApplicationMenuID.
|
||
; <6> 11/26/90 KSM (dba)Make the MenuBarInvalidBit a switched value.
|
||
; <5> 7/2/90 KSM Add InvalMenubar constants.
|
||
; <4> 6/8/90 KSM Add SystemMenuList lowmem equate.
|
||
; <3> 6/8/90 KSM Define System Menus range.
|
||
; <2> 5/14/90 KSM Update header comments
|
||
; <1> 5/14/90 KSM New today.
|
||
;
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
IF &TYPE('__INCLUDINGMENUMGRPRIVATE__') = 'UNDEFINED' THEN
|
||
__INCLUDINGMENUMGRPRIVATE__ SET 1
|
||
|
||
IF &TYPE('__INCLUDINGMENUS__') = 'UNDEFINED' THEN
|
||
INCLUDE 'Menus.a'
|
||
ENDIF
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
|
||
MenuBarInvalidBit equ 6
|
||
MenuBarInvalidByte equ $B21
|
||
|
||
MenuBarGlobalInvalidBit equ 6
|
||
MenuBarGlobalInvalidByte equ $B20
|
||
|
||
ValidateMenuBarSemaphoreBit equ 3
|
||
ValidateMenuBarSemaphoreByte equ $B20
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; Define the Menu Manager Dispatch trap opword
|
||
SystemMenuList EQU $286 ; a list of all the system menus (same format as MenuList)
|
||
|
||
kLoSystemMenuRange EQU $B000 ; This is -20480 (the lowest value)
|
||
kHiSystemMenuRange EQU $BFFF ; This is -16385 (the highest value)
|
||
|
||
kApplicationMenuID EQU $BF97 ; -16489: The application menu ID
|
||
kHelpMenuID EQU $BF96 ; -16490: The help menu ID
|
||
kScriptMenuID EQU $BF95 ; -16491: The keyboard menu ID
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; Define the new selectors for the Menu Manager
|
||
selectGetMenuTitleRect EQU -1
|
||
selectGetMBARRect EQU -2
|
||
selectGetAppMenusRect EQU -3
|
||
selectGetSysMenusRect EQU -4
|
||
selectDrawMBARString EQU -5
|
||
selectIsSystemMenu EQU -6
|
||
|
||
selectMenuCalc EQU -11
|
||
paramWordsMenuCalc EQU 1
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; Define the parameter size passed for each call
|
||
paramWordsGetMenuTitleRect EQU 6
|
||
paramWordsGetMBARRect EQU 4
|
||
paramWordsGetAppMenusRect EQU 4
|
||
paramWordsGetSysMenusRect EQU 4
|
||
paramWordsDrawMBARString EQU 8
|
||
paramWordsIsSystemMenu EQU 3
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; Define the MBDF message numbers of the new calls
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; MBDFRectCall -- Get rectangles for various parts of the menubar
|
||
MBDFRectCall EQU 14
|
||
; <pos> = 6 B.O.
|
||
MBDFRectBar EQU 0 ; Get the menubar rect
|
||
MBDFRectApps EQU -1 ; Get the rect enclosing the app menus
|
||
MBDFRectSys EQU -2 ; Get the rect enclosing the system menus
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; MBDFDrawMBARString -- Splash a message into the menubar in a given script
|
||
MBDFDrawMBARString EQU 15
|
||
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; Define the dispatch macros to get to the calls
|
||
|
||
MACRO
|
||
_GetMenuTitleRect
|
||
DoDispatch _MenuDispatch,selectGetMenuTitleRect,paramWordsGetMBARRect
|
||
ENDM
|
||
|
||
MACRO
|
||
_GetMBARRect
|
||
DoDispatch _MenuDispatch,selectGetMBARRect,paramWordsGetMBARRect
|
||
ENDM
|
||
|
||
MACRO
|
||
_GetAppMenusRect
|
||
DoDispatch _MenuDispatch,selectGetAppMenusRect,paramWordsGetAppMenusRect
|
||
ENDM
|
||
|
||
MACRO
|
||
_GetSysMenusRect
|
||
DoDispatch _MenuDispatch,selectGetSysMenusRect,paramWordsGetSysMenusRect
|
||
ENDM
|
||
|
||
MACRO
|
||
_DrawMBARString
|
||
DoDispatch _MenuDispatch,selectDrawMBARString,paramWordsDrawMBARString
|
||
ENDM
|
||
|
||
MACRO
|
||
_IsSystemMenu
|
||
DoDispatch _MenuDispatch,selectIsSystemMenu,paramWordsIsSystemMenu
|
||
ENDM
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; SaveRestoreBits
|
||
|
||
_SaveRestoreBits OPWORD $A81E
|
||
|
||
selectSaveBits EQU 1
|
||
paramWordsSaveBits EQU 5
|
||
|
||
selectRestoreBits EQU 2
|
||
paramWordsRestoreBits EQU 2
|
||
|
||
selectDiscardBits EQU 3
|
||
paramWordsDiscardBits EQU 2
|
||
|
||
MACRO
|
||
_SaveBits
|
||
DoDispatch _SaveRestoreBits,selectSaveBits,paramWordsSaveBits
|
||
ENDM
|
||
|
||
MACRO
|
||
_RestoreBits
|
||
DoDispatch _SaveRestoreBits,selectRestoreBits,paramWordsRestoreBits
|
||
ENDM
|
||
|
||
MACRO
|
||
_DiscardBits
|
||
DoDispatch _SaveRestoreBits,selectDiscardBits,paramWordsDiscardBits
|
||
ENDM
|
||
|
||
|
||
MACRO
|
||
_CalcMenuBar
|
||
DoDispatch _MenuDispatch,selectMenuCalc,paramWordsMenuCalc
|
||
ENDM
|
||
|
||
ENDIF ; Already included
|