mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-12-01 18:50:30 +00:00
1042 lines
39 KiB
Plaintext
1042 lines
39 KiB
Plaintext
; Version: 3.28
|
|
; Created: Friday, October 20, 1989 at 10:02:20 PM
|
|
;
|
|
; File: ToolEqu.a
|
|
;
|
|
; Assembler Interface to the Macintosh Libraries
|
|
; Copyright Apple Computer, Inc. 1984-1990
|
|
; All Rights Reserved
|
|
;
|
|
;___________________________________________________________________________
|
|
|
|
IF &TYPE('__IncludingToolEqu__') = 'UNDEFINED' THEN
|
|
__IncludingToolEqu__ SET 1
|
|
|
|
IF (&TYPE('wholeTools') = 'UNDEFINED') THEN
|
|
wholeTools EQU 1
|
|
ENDIF
|
|
|
|
|
|
;+ Resource Manager
|
|
|
|
; Resource attributes
|
|
|
|
resSysRef EQU 7 ; reference to system/local reference
|
|
resSysHeap EQU 6 ; In system/in application heap
|
|
resPurgeable EQU 5 ; Purgeable/not purgeable
|
|
resLocked EQU 4 ; Locked/not locked
|
|
resProtected EQU 3 ; Protected/not protected
|
|
resPreload EQU 2 ; Read in at OpenResource?
|
|
resChanged EQU 1 ; Existing resource changed since last update
|
|
rcbMask EQU $FD ; Must preserve ResChanged over _ResAttrs
|
|
|
|
; Map attributes
|
|
|
|
mapReadOnly EQU 7 ; is this file read-only?
|
|
mapCompact EQU 6 ; Is a compact necessary?
|
|
mapChanged EQU 5 ; Is it necessary to write map?
|
|
|
|
; Resource Manager Globals
|
|
|
|
TopMapHndl EQU $A50 ; topmost map in list [handle]
|
|
SysMapHndl EQU $A54 ; system map [handle]
|
|
SysMap EQU $A58 ; reference number of system map [word]
|
|
CurMap EQU $A5A ; reference number of current map [word]
|
|
ResReadOnly EQU $A5C ; Read only flag [word]
|
|
ResLoad EQU $A5E ; Auto-load feature [word]
|
|
ResErr EQU $A60 ; Resource error code [word]
|
|
ResErrProc EQU $AF2 ; Resource error procedure [pointer]
|
|
SysResName EQU $AD8 ; Name of system resource file [STRING[19]]
|
|
|
|
;new Resource Manager stuff
|
|
|
|
RomMapInsert EQU $B9E ; (byte) determines if we should link in map
|
|
TmpResLoad EQU $B9F ; second byte is temporary ResLoad value.
|
|
|
|
; the following word values are to be placed into the
|
|
; word located at RomMapInsert
|
|
|
|
MapTrue EQU $FFFF ; link in ROM map with resload true
|
|
MapFalse EQU $FF00 ; link in ROM map with resload false
|
|
|
|
;+ Font Manager
|
|
|
|
|
|
; Standard font ID's
|
|
|
|
sysFont EQU 0 ; system font ID
|
|
applFont EQU 1 ; application font ID
|
|
newYork EQU 2 ; standard release fonts
|
|
geneva EQU 3
|
|
monaco EQU 4
|
|
venice EQU 5
|
|
london EQU 6
|
|
athens EQU 7
|
|
sanFran EQU 8
|
|
toronto EQU 9
|
|
cairo EQU 11
|
|
losAngeles EQU 12
|
|
times EQU 20
|
|
helvetica EQU 21
|
|
courier EQU 22
|
|
symbol EQU 23
|
|
mobile EQU 24
|
|
|
|
; Font Manager Globals
|
|
|
|
ApFontID EQU $984 ; resource ID of application font [word]
|
|
FMDefaultSize EQU $987 ; default size [byte]
|
|
CurFMInput EQU $988 ; quickdraw FMInput Record [pointer]
|
|
FMgrOutRec EQU $998 ; quickdraw FontOutput Record [pointer]
|
|
FScaleDisable EQU $A63 ; disable font scaling? [byte]
|
|
|
|
;new FONT manager stuff
|
|
|
|
WidthListHand EQU $8E4 ; list of extra width tables, or nil.
|
|
WidthPtr EQU $B10 ; (long) Font Mgr global
|
|
WidthTabHandle EQU $B2A ; Font width table handle for measure
|
|
LastSPExtra EQU $B4C ; (long) most recent value of space extra
|
|
SysFontFam EQU $BA6 ; (word) System font family ID or zero
|
|
SysFontSize EQU $BA8 ; (word) System font size (or zero for 12 pt)
|
|
FDevDisable EQU $BB3 ; (byte) $FF to disable device-defined style extra
|
|
LastFOND EQU $BC2 ; (long) handle of last font def record
|
|
FONDID EQU $BC6 ; (word) ID of last font def record
|
|
FractEnable EQU $BF4 ; (byte) flag for fractional font widths
|
|
UsedFWidths EQU $BF5 ; (byte) flag saying if we used fract widths
|
|
FScaleHFact EQU $BF6 ; (long) horz. font scale factor
|
|
FScaleVFact EQU $BFA ; (long) vertical font scale factor
|
|
|
|
;+ Window Manager
|
|
|
|
; system windows have negative kinds
|
|
dialogKind EQU 2 ; dialog windows
|
|
userKind EQU 8 ; this and above numbers are for user
|
|
|
|
; Values returned by window definition function's hit routine
|
|
|
|
wNoHit EQU 0 ; not in window at all
|
|
wInContent EQU 1 ; in content area
|
|
wInDrag EQU 2 ; in drag area
|
|
wInGrow EQU 3 ; in grow area
|
|
wInGoAway EQU 4 ; in go away area
|
|
wInZoomIn EQU 5 ; in zoom in
|
|
wInZoomOut EQU 6 ; in zoom out
|
|
|
|
; FindWindow Return Codes
|
|
|
|
inDesk EQU 0 ; not in any window
|
|
inMenuBar EQU 1 ; in the menu bar
|
|
inSysWindow EQU 2 ; in a system window
|
|
inContent EQU 3 ; in content area of user window
|
|
inDrag EQU 4 ; in drag area of user window
|
|
inGrow EQU 5 ; in grow area of user window
|
|
inGoAway EQU 6 ; in go away area of user window
|
|
inZoomIn EQU 7 ; in zoom in part code
|
|
inZoomOut EQU 8 ; in zoom out part code
|
|
|
|
; Resource ID's for windows
|
|
|
|
deskPatID EQU 16 ; desk pattern PAT ID
|
|
documentProc EQU 0 ; standard document WDEF ID
|
|
dBoxProc EQU 1 ; dialog box (document without titleBar) WDEF ID
|
|
plainDBox EQU 2 ; no border WDEF ID
|
|
altDBoxProc EQU 3 ; no shadow or title WDEF ID
|
|
noGrowDocProc EQU 4 ; no grow area WDEF ID
|
|
movableDBoxProc EQU 5 ; movable dialog box WDEF ID
|
|
zoomDocProc EQU 8 ; with zoom box WDEF ID
|
|
zoomNoGrow EQU 12 ; zoom with no grow box WDEF ID
|
|
rDocProc EQU 16 ; document with rounded corners WDEF ID
|
|
|
|
; Window Data Structure Definition
|
|
|
|
windowPort EQU 0 ; grafPort [108 bytes]
|
|
windowKind EQU $6C ; type of window [word]
|
|
wVisible EQU $6E ; visible flag [byte]
|
|
wHilited EQU $6F ; select (hilite) flag [byte]
|
|
wGoAway EQU $70 ; has go away button [byte]
|
|
wZoom EQU $71 ; has zoom box [byte]
|
|
structRgn EQU $72 ; structure region of window [Handle]
|
|
contRgn EQU $76 ; content region of window [Handle]
|
|
updateRgn EQU $7A ; update region of window [Handle]
|
|
windowDef EQU $7E ; window definition procedure [Handle]
|
|
wDataHandle EQU $82 ; window proc-defined data [Handle]
|
|
wTitleHandle EQU $86 ; title string [Handle]
|
|
wTitleWidth EQU $8A ; width in pixels of title string [word]
|
|
wControlList EQU $8C ; control list of this window [handle]
|
|
nextWindow EQU $90 ; next window in z-ordered list [pointer]
|
|
windowPic EQU $94 ; picture handle for updates [handle]
|
|
wRefCon EQU $98 ; application use [long]
|
|
windowSize EQU $9C ; size of window data structure
|
|
WStateData RECORD 0
|
|
userState DS.L 2 ;Rect
|
|
stdState DS.L 2 ;Rect
|
|
ENDR
|
|
|
|
|
|
|
|
; Window Manager Globals
|
|
|
|
WindowList EQU $9D6 ; Z-ordered linked list of windows [pointer]
|
|
PaintWhite EQU $9DC ; erase newly drawn windows? [word]
|
|
WMgrPort EQU $9DE ; window manager's grafport [pointer]
|
|
GrayRgn EQU $9EE ; rounded gray desk region [handle]
|
|
CurActivate EQU $A64 ; window slated for activate event [pointer]
|
|
CurDeactive EQU $A68 ; window slated for deactivate event [pointer]
|
|
DragHook EQU $9F6 ; user hook during dragging [pointer]
|
|
DeskPattern EQU $A3C ; desk pattern [8 bytes]
|
|
DeskHook EQU $A6C ; hook for painting the desk [pointer]
|
|
GhostWindow EQU $A84 ; window hidden from FrontWindow [pointer]
|
|
|
|
|
|
|
|
;+ Menu Manager
|
|
|
|
; "ASCII" marks for menu characters
|
|
|
|
noMark EQU 0
|
|
commandMark EQU $11 ; command fan (cloverleaf)
|
|
checkMark EQU $12 ; check mark for menus
|
|
diamondMark EQU $13 ; diamond mark for menus
|
|
appleMark EQU $14 ; desk ornament menu title
|
|
|
|
; MenuList Data Structure Definition -- one per menuBar
|
|
|
|
; 6 Byte header
|
|
lastMenu EQU 0 ; number of bytes in this menuList [word]
|
|
lastRight EQU 2 ; h coordinate of 1st free point in menuBar [word]
|
|
; one of the following per menu
|
|
menuoH EQU 0 ; menu handle [handle]
|
|
menuLeft EQU 4 ; coordinate of left edge of menu [word]
|
|
|
|
; MenuInfo Data Structure -- one per menu
|
|
|
|
menuID EQU 0 ; unique ID for each menuBar [word]
|
|
menuWidth EQU 2 ; menu width [word]
|
|
menuHeight EQU 4 ; menu height [word]
|
|
menuDefHandle EQU 6 ; menu definition proc [handle]
|
|
menuEnable EQU $A ; enable flags, one bit/item [long]
|
|
menuData EQU $E ; menu item string [STRING]
|
|
menuBlkSize EQU $E ; size of a menu block plus dataString
|
|
|
|
; MenuString Data Structure -- one per menu item
|
|
|
|
itemIcon EQU 0 ; icon byte
|
|
itemCmd EQU 1 ; apple (command key) byte
|
|
itemMark EQU 2 ; checkmark character byte
|
|
itemStyle EQU 3 ; style byte
|
|
|
|
; Menu Manager Globals
|
|
|
|
MenuList EQU $A1C ; current menuBar list structure [handle]
|
|
MenuFlash EQU $A24 ; flash feedback count [word]
|
|
MenuHook EQU $A30 ; user hook during menuSelect [pointer]
|
|
MBarEnable EQU $A20 ; menuBar enable for desk accessories[word]
|
|
MBarHook EQU $A2C ; user hook during menuSelect [pointer]
|
|
|
|
;new Menu Manager stuff
|
|
|
|
MBarHeight EQU $BAA ; (word) height of menu bar (usually 20)
|
|
|
|
;+ Control Manager
|
|
|
|
; Part Codes
|
|
|
|
inButton EQU 10 ; in a push button
|
|
inCheckBox EQU 11 ; in a checkBox button
|
|
inUpButton EQU 20 ; in up button area of a dial
|
|
inDownButton EQU 21 ; in down button area of a dial
|
|
inPageUp EQU 22 ; in page up (gray) area of a dial
|
|
inPageDown EQU 23 ; in page down (gray) area of a dial
|
|
inThumb EQU 129 ; in thumb area of a dial
|
|
|
|
; Constants for axis parameter of DragGrayRgn and DragControl
|
|
|
|
noConstraint EQU 0 ; free form dragging
|
|
hAxisOnly EQU 1 ; horizontally only
|
|
vAxisOnly EQU 2 ; vertically only
|
|
|
|
; Resource ID's for controls
|
|
|
|
pushButProc EQU 0 ; rounded-corner pushButtons CDEF ID
|
|
checkBoxProc EQU 1 ; check-box type buttons CDEF ID
|
|
radioButProc EQU 2 ; radio buttons CDEF ID
|
|
scrollBarProc EQU 16 ; scrollBar CDEF ID
|
|
useWFont EQU 8 ; add this to get window font CDEF ID
|
|
sBarPatID EQU 17 ; scrollBar pattern ID
|
|
|
|
|
|
; Popup Control Constants
|
|
popupMenuCDEFproc EQU 1008 ; popup menu CDEF ID
|
|
|
|
; Popup Variation Codes
|
|
popupFixedWidth EQU $0001 ; size will not vary with menu items
|
|
popupReserved EQU $0002 ; was popupUseCQD
|
|
popupUseAddResMenu EQU $0004 ; menu = AddResMenu(CNTL's refCon)
|
|
popupUseWFont EQU $0008 ; use this for window font/size/face
|
|
|
|
; Popup Title characteristics
|
|
popupTitleBold EQU $00000100 ; styles for the popup title
|
|
popupTitleItalic EQU $00000200
|
|
popupTitleUnderline EQU $00000400
|
|
popupTitleOutline EQU $00000800
|
|
popupTitleShadow EQU $00001000
|
|
popupTitleCondense EQU $00002000
|
|
popupTitleExtend EQU $00004000
|
|
popupTitleNoStyle EQU $00008000
|
|
|
|
popupTitleLeftJust EQU $00000000 ; justification for the title
|
|
popupTitleCenterJust EQU $00000001
|
|
popupTitleRightJust EQU $000000FF
|
|
|
|
|
|
; Control Template
|
|
|
|
nextControl EQU $0 ; next control in the list [handle]
|
|
contrlOwner EQU $4 ; owning window [pointer]
|
|
contrlRect EQU $8 ; bounding rectangle [8 bytes]
|
|
contrlVis EQU $10 ; visible state [byte]
|
|
contrlHilite EQU $11 ; hilite state [byte]
|
|
contrlValue EQU $12 ; current value of control [word]
|
|
contrlMin EQU $14 ; minimum value of control [word]
|
|
contrlMax EQU $16 ; maximum value of control [word]
|
|
contrlDefHandle EQU $18 ; control definition procedure [handle]
|
|
contrlData EQU $1C ; data for definition proc [handle]
|
|
contrlAction EQU $20 ; local actionProc [pointer]
|
|
contrlRFcon EQU $24 ; refcon defined by application [long]
|
|
contrlTitle EQU $28 ; title string [STRING]
|
|
contrlSize EQU $28 ; size of control data structure less title
|
|
|
|
; Control Manager Globals
|
|
|
|
DragPattern EQU $A34 ; DragTheRgn pattern [8 bytes]
|
|
DragFlag EQU $A44 ; implicit parameter to DragControl [word]
|
|
CurDragAction EQU $A46 ; implicit actionProc for dragControl [pointer]
|
|
|
|
|
|
;+ Text Edit
|
|
|
|
|
|
; Justification styles
|
|
|
|
teJustLeft EQU 0 ; left justified text
|
|
teJustRight EQU -1 ; right justified text
|
|
teJustCenter EQU 1 ; center justified text
|
|
teForceLeft EQU -2 ; for Arabic fonts, force left justification
|
|
|
|
; new names for the Justification styles
|
|
teFlushDefault EQU 0 ; flush according to the line direction
|
|
teCenter EQU 1 ; center justify
|
|
teFlushRight EQU -1 ; flush right for all scripts
|
|
teFlushLeft EQU -2 ; flush left for all scripts
|
|
|
|
; Text Edit Record
|
|
|
|
teDestRect EQU $0 ; destination rectangle [8 bytes]
|
|
teViewRect EQU $8 ; view rectangle rectangle [8 bytes]
|
|
teSelRect EQU $10 ; select rectangle [8 bytes]
|
|
teLineHite EQU $18 ; lineheight [word]
|
|
teAscent EQU $1A ; first baseline offset [word]
|
|
teSelPoint EQU $1C ; selection point [long]
|
|
teSelStart EQU $20 ; selection start [word]
|
|
teSelEnd EQU $22 ; selection end [word]
|
|
teActive EQU $24 ; active [byte]
|
|
teWordBreak EQU $26 ; word break routine [pointer]
|
|
teClikProc EQU $2A ; click loop routine [pointer]
|
|
teClikTime EQU $2E ; time of last click [long]
|
|
teClikLoc EQU $32 ; location of double click [long]
|
|
teCarTime EQU $34 ; time for next caret toggle [long]
|
|
teCarOn EQU $38 ; is caret on? [byte]
|
|
teCarAct EQU $39 ; is caret active? [byte]
|
|
teJust EQU $3A ; fill style [word]
|
|
teLength EQU $3C ; length of text below [word]
|
|
teTextH EQU $3E ; text [handle]
|
|
teRecBack EQU $42 ; unused [word]
|
|
teRecLine EQU $44 ; unused [word]
|
|
teLftClick EQU $46 ; click was to left? [byte]
|
|
teLftCaret EQU $47 ; caret was to left? [byte]
|
|
teCROnly EQU $48 ; <CR> only for line breaks? [byte]
|
|
teFontStuff EQU $4A ; space for font specifier [8 bytes]
|
|
teFont EQU $4A ; text font [word]
|
|
teFace EQU $4C ; text face [word]
|
|
teMode EQU $4E ; text mode [word]
|
|
teSize EQU $50 ; text size [word]
|
|
teGrafPort EQU $52 ; grafport for editting [pointer]
|
|
teHiHook EQU $56 ; hook for hilite routine [pointer]
|
|
teCarHook EQU $5A ; hook for hilite routine [pointer]
|
|
teNLines EQU $5E ; number of lines [word]
|
|
teLines EQU $60 ; line starts [words...]
|
|
teRecSize EQU $68 ; base size of a record w/o lines
|
|
|
|
; Text Edit Globals
|
|
|
|
TEDoText EQU $A70 ; textEdit doText proc hook [pointer]
|
|
TERecal EQU $A74 ; textEdit recalText proc hook [pointer]
|
|
TEScrpLength EQU $AB0 ; textEdit Scrap Length [word]
|
|
TEScrpHandle EQU $AB4 ; textEdit Scrap [handle]
|
|
TEWdBreak EQU $AF6 ; default word break routine [pointer]
|
|
TEFindWord EQU $7F8 ; low-memory hook for TextEdit's FindWord routine
|
|
|
|
;new TE stuff
|
|
|
|
WordRedraw EQU $BA5 ; (byte) - used by TextEdit RecalDraw
|
|
TESysJust EQU $BAC ; (word) system justification (intl. textEdit)
|
|
TEFlags EQU teRecBack ; turn whole byte into bit flags
|
|
teFAutoPos EQU 6 ; set this bit for auto position/scroll
|
|
|
|
;+ Dialog Manager
|
|
|
|
; Item codes in item list
|
|
|
|
userItem EQU 0 ; application-defined (dialog only)
|
|
ctrlItem EQU 4 ; must be added to following four items
|
|
btnCtrl EQU 0 ; standard button
|
|
chkCtrl EQU 1 ; standard check box
|
|
radCtrl EQU 2 ; standard radio button
|
|
resCtrl EQU 3 ; control defined in resource file
|
|
statText EQU 8 ; static text
|
|
editText EQU 16 ; editable text (dialog only)
|
|
iconItem EQU 32 ; icon
|
|
picItem EQU 64 ; quickdraw picture
|
|
itemDisable EQU 128 ; add to any of above to disable
|
|
|
|
|
|
; Generic buttons
|
|
|
|
okButton EQU 1 ; OK button
|
|
cancelButton EQU 2 ; Cancel button
|
|
|
|
; Alert/Dialog Resource ID's
|
|
|
|
stopIcon EQU 0 ; stop icon ID
|
|
noteIcon EQU 1 ; note icon ID
|
|
cautionIcon EQU 2 ; caution icon ID
|
|
|
|
; Dialog Template
|
|
|
|
dBounds EQU $0 ; dialog bounds rectangle
|
|
dWindProc EQU $8 ; window proc ID
|
|
dVisible EQU $A ; visible flag
|
|
dGoAway EQU $C ; go away flag
|
|
dRefCon EQU $E ; reference constant
|
|
dItems EQU $12 ; item list ID and handle
|
|
dTitle EQU $14 ; dialog window title
|
|
|
|
; Alert Template
|
|
|
|
aBounds EQU $0 ; alert box height and width
|
|
aItems EQU $8 ; item list ID
|
|
aStages EQU $A ; stages word
|
|
|
|
; Dialog/Alert Window Record
|
|
|
|
dWindow EQU $0 ; window record
|
|
items EQU $9C ; Item list [handle]
|
|
teHandle EQU $A0 ; textEdit object [handle]
|
|
editField EQU $A4 ; current field being edited [word]
|
|
editOpen EQU $A6 ; is editting open? [word]
|
|
aDefItem EQU $A8 ; default item for alerts [word]
|
|
dWindLen EQU $AA ; dialog record length
|
|
|
|
; In each item
|
|
|
|
itmHndl EQU 0 ; handle to the item
|
|
itmRect EQU $4 ; bounding rect of item
|
|
itmType EQU $C ; item type
|
|
itmData EQU $D ; item string, must be even length
|
|
|
|
; Dialog Manager Globals
|
|
|
|
ANumber EQU $A98 ; active alert ID [word]
|
|
ACount EQU $A9A ; # times this alert called [word]
|
|
DABeeper EQU $A9C ; beep routine [pointer]
|
|
DAStrings EQU $AA0 ; paramText substutution strings [4 handles]
|
|
DlgFont EQU $AFA ; default dialog font ID [word]
|
|
|
|
|
|
;+ Package Globals
|
|
|
|
|
|
AppPacks EQU $AB8 ; packages' code [8 handles]
|
|
|
|
|
|
;+ Finder related Globals
|
|
|
|
|
|
FinderName EQU $2E0 ; "Finder" name [STRING[15]]
|
|
AppParmHandle EQU $AEC ; handle to hold application parameters
|
|
|
|
|
|
;+ Miscellaneous Globals
|
|
|
|
|
|
ApplScratch EQU $A78 ; application scratch area [12 Bytes]
|
|
ToolScratch EQU $9CE ; scratch area [8 bytes]
|
|
TempRect EQU $9FA ; scratch rectangle [8 bytes]
|
|
|
|
; System Patterns
|
|
|
|
sysPatListID EQU 0 ; ID of PAT# which contains 38 patterns
|
|
|
|
IF wholeTools THEN
|
|
|
|
; Resource Manager
|
|
|
|
mCCMask EQU $60 ; mapCompact + mapChanged
|
|
mChMask EQU $20 ; mapChanged
|
|
mCoMask EQU $40 ; mapCompact
|
|
|
|
; Font Manager
|
|
|
|
; Font header values
|
|
|
|
propFont EQU $9000 ; proportional font type
|
|
prpFntH EQU $9001 ; with height table
|
|
prpFntW EQU $9002 ; with width table
|
|
prpFntHW EQU $9003 ; with height & width table
|
|
fixedFont EQU $B000 ; fixed-pitch font type
|
|
fxdFntH EQU $B001 ; with height table
|
|
fxdFntW EQU $B002 ; with width table
|
|
fxdFntHW EQU $B003 ; with height & width table
|
|
fontWid EQU $ACB0 ; width-only font type
|
|
|
|
; control/status codes for linkage w/font manager
|
|
|
|
fMgrCtl1 EQU 8 ; printer drivers
|
|
|
|
; Font Header Data Record
|
|
|
|
fFontType EQU 0 ; font type [word]
|
|
fFirstChar EQU 2 ; ASCII code of first char [word]
|
|
fLastChar EQU 4 ; ASCII code of last char [word]
|
|
fWidMax EQU 6 ; maximum width of any char in pixels [word]
|
|
fKernMax EQU 8 ; Negative of maximum character kern [word]
|
|
fNDescent EQU 10 ; negative of descent [word]
|
|
fFRectWidth EQU 12 ; width of font rectangle [word]
|
|
fFRectHeight EQU 14 ; height of font rectangle [word]
|
|
fOWTLoc EQU 16 ; offset to offset/width table [word]
|
|
fAscent EQU 18 ; ascent above baseline in pixels [word]
|
|
fDescent EQU 20 ; descent below baseline in pixels [word]
|
|
fLeading EQU 22 ; space between lines in pixels [word]
|
|
fRowWords EQU 24 ; row width of bit image / 2 [word]
|
|
|
|
; Font Manager Input Record (CurFMInput)
|
|
|
|
fmInFamily EQU 0 ; family [word]
|
|
fmInSize EQU 2 ; size [word]
|
|
fmInFace EQU 4 ; face [word]
|
|
fmInNeedBits EQU 5 ; needBits [byte]
|
|
fmInDevice EQU 6 ; device number [byte]
|
|
fmInNumer EQU 8 ; numerator of scale [fixed]
|
|
fmInDenom EQU 12 ; denominator of scale [fixed]
|
|
|
|
|
|
; Font Manager Output record (FMgrOutRec)
|
|
|
|
fmOutError EQU 0 ; error code [word]
|
|
fmOutFontH EQU 2 ; the actual font [handle]
|
|
fmOutBold EQU 6 ; bolding factor [byte]
|
|
fmOutItalic EQU 7 ; italic factor [byte]
|
|
fmOutULOffset EQU 8 ; underline offset [byte]
|
|
fmOutULShadow EQU 9 ; underline halo [byte]
|
|
fmOutULThick EQU 10 ; underline thickness [byte]
|
|
fmOutShadow EQU 11 ; shadow factor [byte]
|
|
fmOutExtra EQU 12 ; extra horizontal width [byte]
|
|
fmOutAscent EQU 13 ; height above baseline [byte]
|
|
fmOutDescent EQU 14 ; height below baseline [byte]
|
|
fmOutWidMax EQU 15 ; maximum width of character [byte]
|
|
fmOutLeading EQU 16 ; space between lines [byte]
|
|
fmOutNumer EQU 18 ; point for numerators of scale factor [long]
|
|
fmOutDenom EQU 22 ; point for denominators of scale factor [long]
|
|
|
|
|
|
;WidthTable data structure
|
|
|
|
widTabData EQU 0 ;ARRAY[1..256] OF LONGINT character widths
|
|
widTabFont EQU 1024 ;Handle font record used to build table
|
|
widthSExtra EQU 1028 ;LONGINT space extra used for table
|
|
widthStyle EQU 1032 ;LONGINT extra due to style
|
|
widthFID EQU 1036 ;INTEGER font family ID
|
|
widthFSize EQU 1038 ;INTEGER font size request
|
|
widthFace EQU 1040 ;INTEGER style (face) request
|
|
widthDevice EQU 1042 ;INTEGER device requested
|
|
widthVInScale EQU 1044 ;FIXED scale factors requested
|
|
widthHInScale EQU 1048 ;FIXED scale factors requested
|
|
widthAFID EQU 1052 ;INTEGER actual font family ID for table
|
|
widthFHand EQU 1054 ;Handle family record used to build up table
|
|
widthUsedFam EQU 1058 ;BOOLEAN used fixed point family widths
|
|
widthAFace EQU 1059 ;BYTE actual face produced
|
|
widthVOutput EQU 1060 ;INTEGER vertical scale output value
|
|
widthHOutput EQU 1062 ;INTEGER horizontal scale output value
|
|
widthVFactor EQU 1064 ;INTEGER vertical scale output value
|
|
widthHFactor EQU 1066 ;INTEGER horizontal scale output value
|
|
widthASize EQU 1068 ;INTEGER actual size of actual font used
|
|
;widTabSize EQU 1070 ;INTEGER total size of table
|
|
|
|
; Font Family Definition
|
|
|
|
ffFlags EQU 0 ; flags for family (word)
|
|
ffFamID EQU 2 ; family ID number (word)
|
|
ffFirst EQU 4 ; ASCII code of first character (word)
|
|
ffLast EQU 6 ; ASCII code of last character (word)
|
|
ffAscent EQU 8 ; maximum ascent expressed for 1 pt (word)
|
|
ffDescent EQU 10 ; maximum descent expressed for 1 pt (word)
|
|
ffLeading EQU 12 ; maximum leading expressed for 1 pt (word)
|
|
ffWidMax EQU 14 ; maximum widMax expressed for 1 pt (word)
|
|
ffWTabOff EQU 16 ; offset to width table (long)
|
|
ffKernOff EQU 20 ; offset to kerning table (long)
|
|
ffStylOff EQU 24 ; offset to style mapping table (long)
|
|
ffProperty EQU 28 ; style property info (12 words)
|
|
ffIntl EQU 46 ; reserved for international use (2 words)
|
|
ffVersion EQU 50 ; FOND version number
|
|
|
|
; Font Characterization Table
|
|
|
|
dpiVert EQU 0 ; vertical dots per inch [word]
|
|
dpiHoriz EQU 2 ; horizontal dots per inch [word]
|
|
boldChr EQU 4 ; bold characteristics [3 bytes]
|
|
italChr EQU 7 ; italic characteristics [3 bytes]
|
|
; unused [3 bytes]
|
|
outlineChr EQU 13 ; outline characteristics [3 bytes]
|
|
shadowChr EQU 16 ; shadow characteristics [3 bytes]
|
|
condChr EQU 19 ; condensed characteristics [3 bytes]
|
|
extendChr EQU 22 ; extended characteristics [3 bytes]
|
|
underChr EQU 25 ; underline characteristics [3 bytes]
|
|
|
|
; Globals
|
|
|
|
CurFMFamily EQU $988 ; current font family
|
|
CurFMSize EQU $98A ; current font size
|
|
CurFMFace EQU $98C ; current font face
|
|
CurFMNeedBits EQU $98D ; boolean specifying whether it needs strike
|
|
CurFMDevice EQU $98E ; current font device
|
|
CurFMNumer EQU $990 ; current numerator of scale factor
|
|
CurFMDenom EQU $994 ; current denominator of scale factor
|
|
FOutRec EQU $998 ; Font Manager output record
|
|
FMDotsPerInch EQU $9B2 ; h,v dotsPerInch of current device
|
|
FMStyleTab EQU $9B6 ; style heuristic table supplied by device
|
|
RomFont0 EQU $980 ; system font [handle]
|
|
GotStrike EQU $986 ; Do we have the strike? [byte]
|
|
|
|
|
|
; Window Manager
|
|
|
|
; Window Definition Procedure Messages
|
|
|
|
wDrawMsg EQU 0 ; draw yourself
|
|
wHitMsg EQU 1 ; hit test
|
|
wCalcRgnMsg EQU 2 ; recalculate your regions
|
|
wInitMsg EQU 3 ; initialize yourself
|
|
wDisposeMsg EQU 4 ; dispose any private data
|
|
wGrowMsg EQU 5 ; drag out grow outline
|
|
wGIconMsg EQU 6 ; draw the grow icon
|
|
OldStructure EQU $9E6 ; saved structure region [handle]
|
|
OldContent EQU $9EA ; saved content region [handle]
|
|
SaveVisRgn EQU $9F2 ; temporarily saved visRegion [handle]
|
|
CurDeKind EQU $A22 ; window kind of deactivated window [word]
|
|
SaveUpdate EQU $9DA ; Enable update accumulation? [word]
|
|
|
|
; Menu Manager
|
|
|
|
; Menu Definition Procedure Messages
|
|
|
|
mDrawMsg EQU 0 ; draw yourself
|
|
mChooseMsg EQU 1 ; select an item
|
|
mSizeMsg EQU 2 ; calculate your size
|
|
|
|
; Menu Resource IDs
|
|
|
|
textMenuProc EQU 0 ; standard text menu MDEF ID
|
|
TheMenu EQU $A26 ; ID of hilited menu [word]
|
|
SavedHandle EQU $A28 ; saved bits under a menu [handle]
|
|
|
|
;misc Menu stuff
|
|
|
|
MrMacHook EQU $A2C ; Mr. Macintosh hook [pointer]
|
|
|
|
; Control manager
|
|
|
|
; Control Definition Procedure Messages
|
|
|
|
drawCtlMsg EQU 0 ; draw message
|
|
hitCtlMsg EQU 1 ; hit test message
|
|
calcCtlMsg EQU 2 ; calc region message
|
|
newCtlMsg EQU 3 ; init message
|
|
dispCtlMsg EQU 4 ; dispose any private data message
|
|
posCtlMsg EQU 5 ; adjust indicator position message
|
|
thumbCtlMsg EQU 6 ; calculate rectangles for thumb dragging
|
|
dragCtlMsg EQU 7 ; custom drag message
|
|
trackCtlMsg EQU 8 ; track yourself message
|
|
calcWholeCtlMsg EQU 10 ; calc whole region message
|
|
calcThumbCtlMsg EQU 11 ; calc indicator region message
|
|
|
|
;stage definition--packed 2 to a byte, 4 stages in a word
|
|
|
|
volBits EQU 3 ; number of beeps
|
|
alBit EQU 4 ; alert bit (put up box this time?)
|
|
okDismissal EQU 8 ; bit for OK/Cancel default in each stage
|
|
|
|
; DialogList Data Structure Definitions
|
|
|
|
dlgMaxIndex EQU 0 ; maximum index (=items-1) stored here
|
|
|
|
|
|
SaveProc EQU $A90 ; address of Save failsafe procedure
|
|
SaveSP EQU $A94 ; Safe SP for restart or save
|
|
|
|
; Package Manager
|
|
|
|
FPState EQU $A4A ; floating point state [6 bytes]
|
|
App2Packs EQU $BC8 ; $BC8-$BE7 eight more package handles
|
|
|
|
; Resource Manager
|
|
|
|
RMGRPerm EQU $BA4 ; (byte) - permission byte for OpenResFile
|
|
|
|
; Miscellaneous Constants
|
|
|
|
screenRadius EQU $00100010 ; rounded corners for desk area
|
|
|
|
; Miscellaneous Globals
|
|
|
|
IconBitmap EQU $A0E ; bitmap used for plotting things
|
|
TaskLock EQU $A62 ; re-entering SystemTask [byte]
|
|
CloseOrnHook EQU $A88 ; hook for closing desk ornaments
|
|
|
|
;new MacApp stuff
|
|
|
|
MAErrProc EQU $BE8 ; (long) MacApp error proc address
|
|
MASuperTab EQU $BEC ; (long) handle to MacApp superclass table
|
|
|
|
|
|
;**************** NEW TOOL EQUATES ************
|
|
|
|
; Font Manager
|
|
|
|
; addition to FMgrOutRec (was unused)
|
|
|
|
fmOutCurStyle EQU 17 ;style algorthmically applied by QuickDraw
|
|
|
|
;___________________________________________________________________________
|
|
;
|
|
; Window Manager
|
|
|
|
; auxWinRec structure
|
|
|
|
awNext EQU $0 ;next in chain [Handle]
|
|
awOwner EQU $4 ;owner ID [WindowPtr]
|
|
awCTable EQU $8 ;color table [CTabHandle]
|
|
dialogCItem EQU $C ;handle to dialog manager structures [handle]
|
|
awFlags EQU $10 ;handle for Ernie [handle]
|
|
awResrv EQU $14 ;for expansion [longint]
|
|
awRefCon EQU $18 ;user constant [longint]
|
|
auxWinSize EQU $1C ;size of record
|
|
AuxWinHead EQU $0CD0 ;[handle] Window Aux List head
|
|
|
|
; Window Part Identifiers which correlate color table entries with window elements
|
|
|
|
wContentColor EQU 0
|
|
wFrameColor EQU 1
|
|
wTextColor EQU 2
|
|
wHiliteColor EQU 3
|
|
wTitleBarColor EQU 4
|
|
|
|
|
|
;___________________________________________________________________________
|
|
;
|
|
; Control Manager
|
|
|
|
; auxCtlRec structure
|
|
|
|
acNext EQU $0 ;next in chain [AuxCtlHndl]
|
|
acOwner EQU $4 ;owner ID [ControlHandle]
|
|
acCTable EQU $8 ;color table [CCTabHandle]
|
|
acFlags EQU $C ;misc flag byte [word]
|
|
acReserved EQU $E ;for expansion [LONGINT]
|
|
acRefCon EQU $12 ;user constant [LONGINT]
|
|
acSize EQU $16 ;size of record
|
|
AuxCtlHead EQU $0CD4 ;[handle] Control Aux List head
|
|
|
|
; Here are some equates for the colors of control parts
|
|
|
|
cFrameColor EQU 0
|
|
cBodyColor EQU 1
|
|
cTextColor EQU 2
|
|
cThumbColor EQU 3
|
|
|
|
;___________________________________________________________________________
|
|
;
|
|
; Menu Manager
|
|
|
|
MenuDisable EQU $0B54 ; menuID and Item when disabled item selected
|
|
MBDFHndl EQU $0B58 ; handle to current menu bar defproc
|
|
MBSaveLoc EQU $0B5C ; handle to the mbarproc private data
|
|
MenuCInfo EQU $0D50 ; hanel to menu color information table
|
|
TopMenuItem EQU $A0A ; pixel value of top of scrollable menu
|
|
AtMenuBottom EQU $A0C ; pixel value of bottom of scrollable menu
|
|
|
|
;
|
|
; color menu table equates (mct = menu color table)
|
|
;
|
|
mctID EQU $0
|
|
mctItem EQU $2
|
|
mctRGB1 EQU $4
|
|
mctRGB2 EQU $A
|
|
mctRGB3 EQU $10
|
|
mctRGB4 EQU $16
|
|
mctReserved EQU $1C
|
|
mctEntrySize EQU $1E
|
|
|
|
;
|
|
; miscellaneous equates for hierarchical menus
|
|
;
|
|
|
|
hMenuCmd EQU $1B ; itemCmd == $1B ==> hierarchical menu for this item
|
|
scriptMenuCmd EQU 28 ; itemCmd == $1C ==> item to be displayed in script font
|
|
hierMenu EQU -1 ; InsertMenu(handle, hierMenu), when beforeID ==
|
|
; hierMenu, the handle is inserted in the
|
|
; hierarchical menuList
|
|
mPopUpMsg EQU 3 ; menu defProc messages - place yourself
|
|
; miscellaneous hierarchical equates
|
|
;
|
|
hMenuMark EQU 200 ; '»' = menu character indicates item with hierarchical menu
|
|
|
|
;
|
|
; miscellaneous menubar equates
|
|
;
|
|
mbMenu1Loc EQU $A ; first menu is 10 pixels from left side of screen
|
|
mctAllIds EQU -97 ; search for all IDs for the given Item
|
|
|
|
;
|
|
; color menu table search (and destroy) messages (mct = menu color table)
|
|
;
|
|
mctAllItems EQU -98 ; search for all Items for the given ID
|
|
mctLastIDIndic EQU -99 ; last entry in color table has this in ID field
|
|
|
|
;___________________________________________________________________________
|
|
;
|
|
; Text Edit
|
|
|
|
; Set/Replace style modes
|
|
|
|
fontBit EQU 0 ; set font
|
|
faceBit EQU 1 ; set face
|
|
sizeBit EQU 2 ; set size
|
|
clrBit EQU 3 ; set color
|
|
addSizeBit EQU 4 ; add size mode
|
|
toglBit EQU 5 ;set faces in toggle mode
|
|
; TESetStyle/TEContinuousStyle modes
|
|
doFont EQU $01
|
|
doFace EQU 2
|
|
doSize EQU 4
|
|
doColor EQU 8
|
|
doAll EQU 15 ; set font/face/size/color
|
|
addSize EQU 16
|
|
doToggle EQU 32
|
|
; New internal dispatch table
|
|
; --offsets into TEDispatchRec
|
|
EOLHook EQU 0 ; [ProcPtr] TEEOLHook
|
|
DRAWHook EQU 4 ; [ProcPtr] TEWidthHook
|
|
WIDTHHook EQU 8 ; [ProcPtr] TEDrawHook
|
|
HITTESTHook EQU 12 ; [ProcPtr] TEHitTestHook
|
|
nWIDTHHook EQU 24 ; [ProcPtr] nTEWidthHook <6>
|
|
TextWidthHook EQU 28 ; [ProcPtr] TETextWidthHook <13>
|
|
; --selectors for TECustomHook
|
|
IntEOLHook EQU 0
|
|
IntDrawHook EQU 1
|
|
IntWidthHook EQU 2
|
|
IntHitTestHook EQU 3
|
|
IntNWidthHook EQU 6 ; new version of WidthHook <6>
|
|
IntTextWidthHook EQU 7 ; new TextWidthHook <13>
|
|
teDispatchH EQU teRecBack ; new handle to internal dispatch record
|
|
; handle to style record
|
|
|
|
teStylesH EQU $4A ; replaces teFont/teFace
|
|
|
|
; offsets into TEStyleRec
|
|
|
|
nRuns EQU $0 ; [INTEGER] # of entries in styleStarts array
|
|
nStyles EQU $2 ; [INTEGER] # of distinct styles
|
|
styleTab EQU $4 ; [STHandle] handle to distinct styles
|
|
lhTab EQU $8 ; [LHHandle] handle to line heights
|
|
teRefCon EQU $C ; [LONGINT] reserved
|
|
nullStyle EQU $10 ; [NullStHandle] to style set at null selection
|
|
runs EQU $14 ; array of styles
|
|
|
|
; offsets into NullStRec
|
|
|
|
teReserved EQU 0 ; [LONGINT] reserved for future expansion
|
|
nullScrap EQU 4 ; [StScrpHandle] handle to scrap style table.
|
|
nullStSize EQU 8
|
|
|
|
; offsets into StyleRun array
|
|
|
|
startChar EQU 0 ; [INTEGER] offset into text to start of style
|
|
styleIndex EQU 2 ; [INTEGER] style index
|
|
stStartSize EQU 4 ; size of a styleStarts entry
|
|
|
|
; offsets into STElement
|
|
|
|
stCount EQU 0 ; [INTEGER] # of times this style is used
|
|
stHeight EQU 2 ; [INTEGER] line height
|
|
stAscent EQU 4 ; [INTEGER] ascent
|
|
stFont EQU 6 ; [INTEGER] font
|
|
stFace EQU 8 ; [Style] face
|
|
stSize EQU 10 ; [INTEGER] size
|
|
stColor EQU 12 ; [RGBColor] color
|
|
stRecSize EQU 18 ; size of a teStylesRec
|
|
|
|
; offsets into TextStyle
|
|
|
|
tsFont EQU 0 ; [INTEGER] font
|
|
tsFace EQU 2 ; [Style] face
|
|
tsSize EQU 4 ; [INTEGER] size
|
|
tsColor EQU 6 ; [RGBColor] color
|
|
styleSize EQU 12 ; size of a StylRec
|
|
|
|
; offsets into StScrpRec
|
|
|
|
scrpNStyles EQU 0 ; [INTEGER] # of styles in scrap
|
|
scrpStyleTab EQU 2 ; [ScrpSTTable] start of scrap styles array
|
|
|
|
; offsets into scrpSTElement
|
|
|
|
scrpStartChar EQU 0 ; [LONGINT] char where this style starts
|
|
scrpHeight EQU 4 ; [INTEGER] line height
|
|
scrpAscent EQU 6 ; [INTEGER] ascent
|
|
scrpFont EQU 8 ; [INTEGER] font
|
|
scrpFace EQU 10 ; [Style] face
|
|
scrpSize EQU 12 ; [INTEGER] size
|
|
scrpColor EQU 14 ; [RGBColor] color
|
|
scrpRecSize EQU 20 ; size of a scrap record
|
|
|
|
teFAutoScr EQU 0 ; (00000001b)
|
|
; feature definitions for TEFeatureFlag
|
|
teFTextBuffering EQU 1 ; (00000010b)
|
|
teFOutlineHilite EQU 2 ; (00000100b)
|
|
teFInlineInput EQU 3 ; (00001000b)
|
|
teFUseTextServices EQU 4 ; (00010000b)
|
|
|
|
; action for the new "bit (un)set" interface, TEFeatureFlag
|
|
TEBitClear EQU 0
|
|
TEBitSet EQU 1 ; set the selector bit.
|
|
TEBitTest EQU -1 ; no change; just return the present value
|
|
|
|
; constants for identifying the routine that called FindWord <5>
|
|
teWordSelect Equ 4 ; clickExpand to select word
|
|
teWordDrag Equ 8 ; clickExpand to drag new word
|
|
teFromFind Equ 12 ; FindLine called it ($0C)
|
|
teFromRecal Equ 16 ; RecalLines called it ($10)
|
|
|
|
; Text Edit Selectors:
|
|
|
|
teStylePaste EQU 0
|
|
teSetStyle EQU 1
|
|
teReplaceStyle EQU 2
|
|
teGetStyle EQU 3
|
|
getStyleHandle EQU 4
|
|
setStyleHandle EQU 5
|
|
getStyleScrap EQU 6
|
|
teStyleInsert EQU 7
|
|
teGetPoint EQU 8
|
|
teGetHeight EQU 9
|
|
|
|
teContinuousStyle EQU 10
|
|
setStyleScrap EQU 11
|
|
teCustomHook EQU 12
|
|
teNumStyles EQU 13
|
|
teFeatureFlag EQU 14 ; new for System 6.0.5/Script Systems 6.0.4 <1.5>
|
|
|
|
MACRO
|
|
_TEContinuousStyle
|
|
MOVE.W #teContinuousStyle,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetStyleScrap
|
|
MOVE.W #setStyleScrap,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TECustomHook
|
|
MOVE.W #teCustomHook,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TENumStyles
|
|
MOVE.W #teNumStyles,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
; new for System 6.0.5/Script Systems 6.0.4 <1.5>
|
|
MACRO
|
|
_TEFeatureFlag
|
|
MOVE.W #teFeatureFlag,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TEStylePaste
|
|
MOVE.W #teStylePaste,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TESetStyle
|
|
MOVE.W #teSetStyle,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TEReplaceStyle
|
|
MOVE.W #teReplaceStyle,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TEGetStyle
|
|
MOVE.W #teGetStyle,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetStyleHandle
|
|
MOVE.W #getStyleHandle,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_SetStyleHandle
|
|
MOVE.W #setStyleHandle,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetStyleScrap
|
|
MOVE.W #getStyleScrap,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TEStyleInsert
|
|
MOVE.W #teStyleInsert,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TEGetPoint
|
|
MOVE.W #teGetPoint,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
MACRO
|
|
_TEGetHeight
|
|
MOVE.W #teGetHeight,-(SP)
|
|
DC.W $A83D ; _TEDispatch
|
|
ENDM
|
|
|
|
ENDIF
|
|
|
|
ENDIF ; ...already included |