<> <> DIRECTORY Rope, ViewerClasses, G3dRender; ThreeDViewer: CEDAR DEFINITIONS ~ BEGIN <> ROPE: TYPE ~ Rope.ROPE; Context: TYPE ~ G3dRender.Context; ContextProc: TYPE ~ G3dRender.ContextProc; ImagerProcRec: TYPE ~ G3dRender.ImagerProcRec; Box: TYPE ~ G3dRender.Box; Viewer: TYPE ~ ViewerClasses.Viewer; ButtonChoice: TYPE ~ RECORD[key: ATOM, doc: ROPE]; <> <> ButtonDesc: TYPE ~ RECORD[ proc: PROC[context: Context, key: ATOM], choices: LIST OF ButtonChoice _ LIST[], label: ROPE _ NIL, -- label to appear on button purpose: ROPE _ NIL -- brief explanation of button displayed when button expanded ]; MouseProc: TYPE ~ PROC[context: Context, bttn, ctlShft: ATOM, x, y: REAL]; <> MakeViewer: PROCEDURE [ context: Context, displayType: ATOM _ $PseudoColor, bannerName: ROPE, menu: LIST OF ButtonDesc, mouseAction: MouseProc, verticalMenu: BOOLEAN _ FALSE ]; <> SwitchDisplayTo: PROCEDURE [context: Context, displayType: ATOM] RETURNS[succeeded: BOOLEAN]; <> ViewerUpdate: ContextProc; <> DrawInViewer: PROCEDURE [ context: Context, procRec: REF ImagerProcRec ]; <> <<>> END.