JaMIPrivate.mesa
Implemented by JaMIContextsImpl.mesa
Last Edited by: Stone, December 21, 1983 2:18 pm
DIRECTORY
Imager USING [Context, Trajectory, FONT],
Rope USING [ROPE],
JaMImagerContexts USING [DCList],
JaMInternal USING [Frame],
ViewerClasses USING [Viewer, NotifyProc, PaintProc];
JaMIPrivate: DEFINITIONS = {
Frame: TYPE = JaMInternal.Frame;
Info: TYPE = REF InfoRec;
InfoRec: TYPE = MONITORED RECORD [
frame: Frame,
viewer: ViewerClasses.Viewer,
vdc: Imager.Context, --viewer's dc
vw,vh: REAL, --window width and height in ViewCoordinates
venabled: BOOLEAN ← TRUE,
proc: PROC [Info], -- called by viewer paint proc
dcList: JaMImagerContexts.DCList,
trajectory: LIST OF Imager.Trajectory,
typescript: ViewerClasses.Viewer,
font: Imager.FONT,
text: Rope.ROPE,
bugflag, mouseflag: BOOLEAN,
bugged: CONDITION,
mouse: CONDITION,
bugX, bugY: REAL,
mouseX, mouseY: REAL
];
CreateInfo: PROC [frame: Frame] RETURNS [info: Info];
ForgetInfo: PROC [frame: Frame];
GetInfo: PROC [frame: Frame] RETURNS [info: Info];
SetBug: PROC [info: Info, x,y: REAL];
SetPlace: PROC [info: Info, x,y: REAL];
ReloadTIP: PROC;
InputNotify: ViewerClasses.NotifyProc;
Paint: ViewerClasses.PaintProc;
ViewToUser: PROC [context: Imager.Context, vx,vy: REAL] RETURNS [x,y: REAL] ;
}.