-- JaMTypeScript.mesa
-- Last edit by Paxton, October 4, 1982 2:34 pm
DIRECTORY
TypeScript USING [TS],
JaMInternal USING [Frame],
Rope USING [ROPE];
JaMTypeScript: DEFINITIONS = {
InitTool: PROC [viewerName: Rope.ROPE,
frame: JaMInternal.Frame ← NIL,
param: Rope.ROPE ← NIL,
initFrame: BOOLEAN ← FALSE]
RETURNS [tool: TypeScript.TS, already: BOOLEAN];
-- create JaM typescript viewer
-- returns true if viewer already existed for given frame
GetTypeScript: PROC [frame: JaMInternal.Frame] RETURNS [TypeScript.TS];
-- return the ts associated with frame
-- returns NIL if no association exists
NotifyBeforeDestroy: PROC [ts: TypeScript.TS, proc: PROC [JaMInternal.Frame]];
-- before destroy ts, call proc with frame for ts as arg
DoButton: PROC[tool: TypeScript.TS, atom: ATOM, x,y: REAL];
DoAtom: PROC[tool: TypeScript.TS, atom: ATOM];
MouseProc: TYPE = PROC[JaMInternal.Frame,REAL,REAL];
SetMouseProc: PROC[MouseProc] RETURNS[MouseProc];
}.