-- TJaMGraphicsInfo.mesa
-- Last changed by Bill Paxton, July 13, 1982 2:37 pm
-- Last changed by McGregor, June 10, 1982 4:09 pm
-- Last changed by Rick Beach, July 1, 1982 11:28 am
-- Last changed by Doug Wyatt, September 13, 1982 2:02 pm
-- Last Edited by: Maureen Stone January 31, 1984 2:13:42 pm PST

DIRECTORY
Graphics USING [Context, Path],
TJaMGraphicsContexts USING [DCList],
GraphicsOps USING [FontRef, BitmapRef],
Spline USING [Ref],
GL USING [List],
JaM USING [State],
Rope USING[ROPE],
ViewerClasses USING [Viewer, NotifyProc, PaintProc];

TJaMGraphicsInfo: CEDAR DEFINITIONS = {

State: TYPE = JaM.State;

Info: TYPE = REF InfoRec;
InfoRec: TYPE = MONITORED RECORD [
frame: State,
viewer: ViewerClasses.Viewer,
typescript: ViewerClasses.Viewer,
path: Graphics.Path,
vdc: Graphics.Context, --viewer's dc
vinitdc: Graphics.Context,
venabled: BOOLEAN,
dcList: TJaMGraphicsContexts.DCList,
gl: GL.List ← NIL,
drawGL: BOOLEAN,
font: GraphicsOps.FontRef,
text: Rope.ROPE,
spline: Spline.Ref,
bitmap: GraphicsOps.BitmapRef,
bugflag, mouseflag, capturedButtons: BOOLEANFALSE,
bugged: CONDITION,
mouse: CONDITION,
bugX, bugY: REAL,
mouseX, mouseY: REAL,
proc: PROC [Info] -- called by viewer paint proc
];

CreateInfo: PROC [frame: State] RETURNS [info: Info];

ForgetInfo: PROC [frame: State];

GetInfo: PROC [frame: State] RETURNS [info: Info];

SetBug: PROC [info: Info, x,y: REAL];

SetPlace: PROC [info: Info, x,y: REAL];

ReloadTIP: PROC;

GetBitmapSize: PROC RETURNS [w, h: CARDINAL];

InputNotify: ViewerClasses.NotifyProc;
Paint: ViewerClasses.PaintProc;
RegisterGraphics: PROC[frame: JaM.State];
RegisterColor: PROC[frame: JaM.State];
RegisterImage: PROC[frame: JaM.State];
}.