-- JaMTSInfo.mesa -- Last changed by Paxton, October 4, 1982 2:31 pm DIRECTORY StreamDefs USING [StreamHandle], JaMInternal USING [Frame], JaMTypeScript USING [MouseProc], JaMBasic USING [Object]; JaMTSInfo: DEFINITIONS = { State: TYPE = {idle, busy}; TSInfo: TYPE = REF TSInfoRec; Object: TYPE = JaMBasic.Object; TSInfoRec: TYPE = MONITORED RECORD [ state: State ← idle, readyForInput: CONDITION, somethingToDo: CONDITION, lineStream: StreamDefs.StreamHandle, proc: PROC [JaMInternal.Frame], objectToDo: Object ]; Create: PROC RETURNS [tsi: TSInfo]; WaitForSomethingToDo: PROC [tsi: TSInfo]; NotifyReadyForMore: PROC [tsi: TSInfo]; Do: PROC [obj: Object, tsi: TSInfo]; DoButton: PROC[ tsi: TSInfo, frame: JaMInternal.Frame, buttonName: ATOM, x,y: REAL, mouseProc: JaMTypeScript.MouseProc]; DoAtom: PROC[ tsi: TSInfo, frame: JaMInternal.Frame, atom: ATOM]; }...