JaMIPrivate.mesa
Implemented by JaMIContextsImpl.mesa
Last Edited by: Stone, February 3, 1984 4:32:39 pm PST
DIRECTORY
Imager USING [Context, Trajectory, FONT],
Rope USING [ROPE],
JaMImagerContexts USING [DCList],
JaM USING [State],
ViewerClasses USING [Viewer, NotifyProc, PaintProc];
JaMIPrivate: CEDAR DEFINITIONS = {
State: TYPE = JaM.State;
Info: TYPE = REF InfoRec;
InfoRec: TYPE = MONITORED RECORD [
state: State,
typescript: ViewerClasses.Viewer,
viewer: ViewerClasses.Viewer,
vdc: Imager.Context, --viewer's dc
vw,vh: REAL, --window width and height in ViewCoordinates
venabled: BOOLEAN ← TRUE,
proc: PROC [Imager.Context], -- called by viewer paint proc
dcList: JaMImagerContexts.DCList,
trajectory: LIST OF Imager.Trajectory,
font: Imager.FONT,
text: Rope.ROPE,
bugflag, mouseflag: BOOLEAN,
bugged: CONDITION,
mouse: CONDITION,
bugX, bugY: REAL,
mouseX, mouseY: REAL
];
CreateInfo: PROC [state: State] RETURNS [info: Info];
ForgetInfo: PROC [state: State];
GetInfo: PROC [state: State] RETURNS [info: Info];
InputNotify: ViewerClasses.NotifyProc;
Paint: ViewerClasses.PaintProc;
ViewToUser: PROC [context: Imager.Context, vx,vy: REAL] RETURNS [x,y: REAL];
RegisterGraphics: PROC[state: State];
RegisterImager: PROC[state: State];
RegisterAIS: PROC[state: State];
RegisterColor: PROC[state: State];
}.