; ; File: PuppetStringDefs.a ; ; Contains: Puppet string conversion header file ; ; Written by: Phil Goldman ; ; Copyright: © 1986-1991 by Apple Computer, Inc., all rights reserved. ; ; Change History (most recent first): ; ; <0> x/xx/86 PYG New Today. ; ;-------------------------------------------------------------------- ; ; PROCEDURE CancelSwitch; {Pascal} ; ; void CancelSwitch(void) /* C */ ; MACRO _CancelSwitch MOVE.W #IDCancelSwitch,-(SP) ;push routine ID _OSDispatch ;go do it ENDMACRO ; Puppet String types pstNormalEvent EQU 0 pstNullInstr EQU 1 pstUnknownInstr EQU 2 pstMenuItem EQU 3 pstEventList EQU 4 pstEventCode EQU 5 pstImplementCode EQU 6 pstIllegalInstr EQU 7 pstMenuString EQU 8 ; Instruction Types instrReset EQU 2 instrCut EQU 3 instrCopy EQU 4 instrPaste EQU 5 instrSelRect EQU 6 instrSelAll EQU 7 instrMemCopy EQU 8 instrOutlineRect EQU 9 instrPrivate1 EQU 10 ; For intra-puppet string use only instrQuit EQU 11 instrOpen EQU 12 instrCancel EQU 13 instrPrint EQU 14 ; Instruction,Event Flags instrMouseLocal EQU $8000 evtMouseLocal EQU $8000 evtMouseGlobal EQU $0000 evtMouseEither EQU $4000 evtIsImportant EQU $0000 evtIsUnimportant EQU $2000 ; String IDs for type pstMenuString strIDQuitMenu EQU 100 strIDQuitItem EQU 101 strIDOpenMenu EQU 102 strIDOpenItem EQU 103 ; Dispatch numbers for specific routines IDSwitchTask EQU 0 IDGetActiveTaskInfo EQU 1 IDGetSwitchInfo EQU 2 IDCancelSwitch EQU 3 ; Macros for Switcher routine calls ; FUNCTION SwitchTask(taskDescriptor:Integer; ; eventListIn, eventListOut:EventListHdl; timeout:INTEGER): INTEGER; MACRO _SwitchTask &taskDescriptor,&eventListIn,&eventListOut,&timeout SUB #2,SP ;make room for result MOVE.W &taskDescriptor,-(SP) ;put on task descriptor MOVE.L &eventListIn,-(SP) ;push in evt list hdl MOVE.L &eventListOut,-(SP) ;push out evt list hdl MOVE.W &timeout,-(SP) ;push timeout MOVE.W #IDSwitchTask,-(SP) ;push ID of routine _OSDispatch ;go do it ENDMACRO ; SwitchTask return values ResumeFromScratchpad EQU 0 ; resumeFlag EQU 1 ResumeTimeout EQU 2 ResumeEventListInErr EQU 3 ResumeEventListOutErr EQU 4 ResumeSoundActive EQU 5 ResumeFSBusy EQU 6 ResumeFromCancel EQU 7 ResumeTooManyScratchpads EQU 8 ; FUNCTION GetActiveTaskInfo(taskInfo:Array of TaskInfoRec; maxSlot:INTEGER): INTEGER; MACRO _GetActiveTaskInfo &taskInfo,&maxSlot SUB #2,SP ;make room for result PEA &taskInfo ;push task information record array MOVE.W &maxSlot,-(SP) ;maximum of 8 tasks MOVE.W #IDGetActiveTaskInfo,-(SP) ;push routine ID _OSDispatch ;go do it ENDMACRO ; PROCEDURE GetSwitchInfo(VAR mySwitchInfoRec: SwitchInfoRec); ; ; void GetSwitchInfo(switchInfoPtr) /* C */ ; SwitchInfoPtr switchInfoPtr; ; MACRO _GetSwitchInfo &switchInfoRec PEA &switchInfoRec ;push ptr to the record MOVE.W #IDGetSwitchInfo,-(SP) ;push routine ID _OSDispatch ;go do it ENDMACRO