<> <> DIRECTORY Graphics USING [Context], Rope USING [ROPE], ViewerClasses USING [Viewer]; PEViewer: CEDAR DEFINITIONS = BEGIN RedrawProc: TYPE = PROCEDURE [clientData: REF ANY]; QuitProc: TYPE = PROCEDURE [clientData: REF ANY]; ButtonProc: TYPE = PROCEDURE [clientData: REF ANY, event: ATOM, x, y: REAL]; MenuLabelRec: TYPE = RECORD [ label: ATOM, guarded: BOOLEAN _ FALSE ]; BuildViewer: PROCEDURE [name: Rope.ROPE, menuLabels: LIST OF MenuLabelRec, clientData: REF ANY, redrawProc: RedrawProc, quitProc: QuitProc, buttonProc: ButtonProc] RETURNS [pathViewer: ViewerClasses.Viewer]; <> DrawProc: TYPE = PROCEDURE [context: Graphics.Context]; DrawInViewer: PROCEDURE [pathViewer: ViewerClasses.Viewer, drawProc: DrawProc]; <> END.