<> <> <> <> <> DIRECTORY Imager USING [ConstantColor, Context, Rectangle], IO USING [STREAM], Graph USING [AutoType, CaretIndex, ColorIndex, GRAPH, Entity, EntityGroup, EntityList, FontIndex, GraphColors, GraphFonts, GraphHandle, GraphProc, PaintAction, PaintInfo, ROPE, Text, XY, ValueList, Viewer], Menus USING [Menu]; GraphPrivate: CEDAR DEFINITIONS = { OPEN Graph; <<>> GraphPlaceProc: TYPE = PROC [handle: GraphHandle, sx, sy: INTEGER]; GraphAtomProc: TYPE = PROC [handle: GraphHandle, atom: ATOM]; GraphNumberProc: TYPE = PROC [handle: GraphHandle, number: INT]; GraphStreamProc: TYPE = PROC [s: IO.STREAM, graph: GRAPH]; <> RopeList: TYPE = LIST OF ROPE; LVL: TYPE = LIST OF ValueList; STREAM: TYPE = IO.STREAM; CharPair: TYPE = MACHINE DEPENDENT RECORD[high, low: CHAR]; FourChars: TYPE = MACHINE DEPENDENT RECORD[lh, ll, hh, hl: CHAR]; ReadBeyondEOF: SIGNAL[message: ROPE _ NIL]; SyntaxError: SIGNAL[message: ROPE _ NIL]; DataError: SIGNAL[message: ROPE _ NIL]; <> defaultColors: GraphColors; defaultFonts: GraphFonts; systemColor: ARRAY ColorIndex OF Imager.ConstantColor; <<>> <> <> ShowController: PROC [handle: GraphHandle, wDir: ROPE]; IsController: PROC [viewer: Viewer] RETURNS [BOOL]; <<>> <> PaintAll: PROC [handle: GraphHandle, clear, updateDivBds, clientOnly: BOOL]; PaintAllCurves: PROC [handle: GraphHandle, clear: BOOL]; PaintRect: PROC [handle: GraphHandle, rect: Imager.Rectangle, clear, updateDivBds: BOOL, action: PaintAction _ paint]; PaintText: PROC [handle: GraphHandle, text: Text, action: PaintAction _ paint]; PaintEntity: PROC [handle: GraphHandle, entity: Entity, withLegend: BOOL, action: PaintAction _ paint]; PaintLegend: PROC [handle: GraphHandle, start: Entity, action: PaintAction _ paint, onlyOne: BOOL]; PaintTails: PROC [handle: GraphHandle, x1, x2: REAL, v1, v2: ValueList, entities: EntityList, action: PaintAction _ paint, reversed: BOOL _ TRUE]; PaintTarget: PROC [handle: GraphHandle, choice: XY, action: PaintAction _ paint]; PaintGrids: PROC [handle: GraphHandle, choice: XY, long: BOOL, action: PaintAction _ paint]; PaintClient: PROC [handle: GraphHandle, info: PaintInfo]; <<>> <> Draw: PROC [handle: GraphHandle, context: Imager.Context, info: PaintInfo]; Print: PROC[handle: GraphHandle, file: ROPE] RETURNS [msg: ROPE _ NIL]; <<>> <> SwitchAuto: PROC [handle: GraphHandle, type: AutoType]; SwitchCaretVisibility, SwitchCaretBlinking: PROC [handle: GraphHandle, index: CaretIndex _ primary]; SwitchTarget, SwitchGrid: PROC [handle: GraphHandle, xy: XY]; SelectPoint, SelectEntity, SlideOnSameCurve, SelectText, MoveSelText, ZoomIn, ZoomOut, ZoomPoint: GraphPlaceProc; ErasePrimary, MoveXhair2To1, EraseSelEntity, ShowSelEntityOnSpec, JumpLeftAnyCurve, JumpRightAnyCurve, JumpUpAnyCurve, JumpDownAnyCurve, JumpLeftSameCurve, JumpRightSameCurve, EraseSelText, SwitchSlope, ShowSelTextOnSpec, ZoomWithZoomPts, ClearZoomBox: GraphProc; RotateSelTextCW, RotateSelTextCCW, SlideLeftNSteps, SlideRightNSteps: GraphNumberProc; <<>> <> ChartMenus, ControllerMenus: PROC [] RETURNS [menu: Menus.Menu]; <<>> <> IsLocked: PROC [handle: GraphHandle] RETURNS [BOOL]; CallWithLock: PROC [handle: GraphHandle, proc: GraphProc]; LockedPlaceProc: PROC [handle: GraphHandle, sx, sy: INTEGER, proc: GraphPlaceProc]; LockedAtomProc: PROC [handle: GraphHandle, atom: ATOM, proc: GraphAtomProc]; Wait: PROC; UserEditAllowed: PROC [handle: GraphHandle] RETURNS [BOOL]; <> Operate: GraphAtomProc; <<>> <> FlipToggle: GraphAtomProc; MakeSpec, MakeRule, MakeXYValues: GraphPlaceProc; <<>> <> HandleFromFile: PROC [file: ROPE] RETURNS [handle: GraphHandle, msg: ROPE]; GetGraph: PROC [handle: GraphHandle, file: ROPE] RETURNS [msg: ROPE]; <<>> <> ReadAsciiFile: PROC [handle: GraphHandle, s: IO.STREAM] RETURNS [msg: ROPE _ NIL]; <<>> <> SpecRemove: GraphAtomProc; RemoveText: PROC[handle: GraphHandle, text: Text]; RemoveEntity: PROC[handle: GraphHandle, entity: Entity]; RemoveAllCurves: GraphProc; <<>> <> ResumeFromPanel: GraphAtomProc; ShowText: PROC [handle: GraphHandle, text: Text]; ShowEntity: PROC [handle: GraphHandle, entity: Entity]; ResumeTextFields: PROC[handle: GraphHandle, text: Text]; ResumeEntityFields: PROC [handle: GraphHandle, entity: Entity]; <<>> <> MakeTable: PROC [handle: GraphHandle, file: ROPE, sx, sy: INTEGER]; AddTextButton: PROC [handle: GraphHandle, text: Text]; AddEntityButton: PROC [handle: GraphHandle, entity: Entity]; AddGroupButton: PROC [handle: GraphHandle, entityGroup: EntityGroup]; UpdateTextButton: PROC [handle: GraphHandle, text: Text]; UpdateEntityButton: PROC [handle: GraphHandle, entity: Entity]; <<>> <> Update: GraphAtomProc; <<>> <> ShowChart: GraphProc; IsGraphViewer: PROC [viewer: Viewer] RETURNS [BOOL]; <> WriteGraphFile: PROC [handle: GraphHandle, file: ROPE, plottedOnly: BOOL _ TRUE] RETURNS [msg, newName: ROPE]; WriteTextFile: PROC [handle: GraphHandle, file: ROPE] RETURNS [msg: ROPE]; }. <<>> CHANGE LOG. SChen, created at October 9, 1985 5:50:44 pm PDT. <<>>