File: Plot.mesa, Copyright (C) 1985 by Xerox Corporation. All rights reserved.
Last Edited by:
Sweetsun Chen, July 22, 1985 6:24:39 pm PDT
DIRECTORY
BasicTime USING [GMT, nullGMT],
Imager USING [Box],
Rope USING [ROPE],
ViewerClasses USING [Viewer];
Plot: CEDAR DEFINITIONS = {
types
RopeSequence: TYPE = RECORD[SEQUENCE size: CARDINAL OF Rope.ROPE];
RealSequence: TYPE = RECORD[SEQUENCE size: CARDINAL OF REAL];
Vector: TYPE = REF RealSequence;
Curves: TYPE = LIST OF Vector;
PlotSpec: TYPE = REF PlotSpecRec;
PlotSpecRec: TYPE = RECORD [
file, title: Rope.ROPENIL,
time: BasicTime.GMT ← BasicTime.nullGMT,
bounds: Imager.Box ← [0, 0, 0, 0], -- [xmin, xmax, ymin, ymax]
nCurvesMax: CARDINAL ← 0,
legendEntries: REF RopeSequence ← NIL
];
procedures
-- implemented by PlotViewer:
CreateViewer: PROC [spec: PlotSpec ← NIL, iconic, inhibitDestroy: BOOLFALSE] RETURNS [viewer: ViewerClasses.Viewer];
AddVector: PROC [viewer: ViewerClasses.Viewer ← NIL, vector: Vector ← NIL];
CreateSpec: PROC[file, title: Rope.ROPENIL,
time: BasicTime.GMT ← BasicTime.nullGMT,
bounds: Imager.Box ← [0, 0, 0, 0], -- [xmin, xmax, ymin, ymax]
nCurvesMax: CARDINAL ← 0,
legendEntries: REF RopeSequence ← NIL
] RETURNS[spec: PlotSpec ← NIL];
SetSpec: PROC [viewer: ViewerClasses.Viewer ← NIL, newSpec: PlotSpec ← NIL];
Clear: PROC [viewer: ViewerClasses.Viewer];
Zoom: PROC [viewer: ViewerClasses.Viewer, newBounds: Imager.Box];
IsPlotViewer: PROC [viewer: ViewerClasses.Viewer] RETURNS [BOOL];
-- implemented by PlotFile:
ReadPlotFile: PROC [name: Rope.ROPENIL, viewer: ViewerClasses.Viewer ← NIL, iconic: BOOLTRUE] RETURNS[msg: Rope.ROPENIL];
SavePlot: PROC[viewer: ViewerClasses.Viewer, toFile: Rope.ROPENIL] RETURNS[msg: Rope.ROPENIL];
}.
CHANGE LOG.
Created by: SChen in Cedar5.
SChen, July 22, 1985 6:21:49 pm PDT, => Cedar6.0.