-- 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: Stone, March 19, 1983 3:01 pm

DIRECTORY
Graphics USING [Context, Path],
TJaMGraphicsContexts USING [DCList],
GraphicsOps USING [FontRef, BitmapRef],
Spline USING [Ref],
GL USING [List],
JaMInternal USING [Frame],
ViewerClasses USING [Viewer, NotifyProc, PaintProc];

TJaMGraphicsInfo: DEFINITIONS = {

Frame: TYPE = JaMInternal.Frame;

Info: TYPE = REF InfoRec;
InfoRec: TYPE = MONITORED RECORD [
frame: Frame,
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: REF TEXT,
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: 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;

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

InputNotify: ViewerClasses.NotifyProc;
Paint: ViewerClasses.PaintProc;
}.