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. File: GraphPrivate.mesa Copyright 1985, 1987 by Xerox Corporation. All rights reserved. Last Edited: Sweetsun Chen, November 27, 1985 3:11:00 pm PST Christian Le Cocq April 27, 1987 3:33:45 pm PDT types and signals for graph io. public vars -- exported from GraphViewer.mesa procedures implemented by GraphController: implemented by GraphDisplay: implemented by GraphDraw: implemented by GraphEdit: implemented by GraphMenus: implemented by GraphMonitor: implemented by GraphOperations: implemented by GraphPanel: implemented by GraphRead: implemented by GraphReadAscii: implemented by GraphRemove: implemented by GraphResume: implemented by GraphTable: implemented by GraphUpdate: implemented by GraphViewer: implemented by GraphWrite Icode "cedar" stylenK "cedar" styleBB "cedar" style K "cedar" style,k/K "cedar" style//K "cedar" style "cedar" style K "cedar" style%1K "cedar" styleK "cedar" style $wK "cedar" styleK "cedar" styleK "cedar" style  /K "cedar" styleK "cedar" styleCK "cedar" style=K "cedar" style@K "cedar" style  :K "cedar" styleK "cedar" styleK "cedar" style K "cedar" style K "cedar" styleK "cedar" style   ;K "cedar" style  AK "cedar" styleK "cedar" style  +K "cedar" style  )K "cedar" style  'K "cedar" styleK "cedar" style c!-K "cedar" styleK "cedar" styleK "cedar" style  6K "cedar" styleK "cedar" style  "cedar" styleK "cedar" style7K "cedar" style 3K "cedar" style "cedar" styleK "cedar" style8LK "cedar" style8K "cedar" style DvK "cedar" style @OK "cedar" style 3gK "cedar" style LcK "cedar" style RK "cedar" style QK "cedar" style \K "cedar" style (9K "cedar" style "cedar" styleK "cedar" styleAKK "cedar" style GK "cedar" style "cedar" styleK "cedar" style '7K "cedar" styleK "cedar" styleK "cedar" style4MK "cedar" styleK "cedar" style K "cedar" style /K "cedar" styleK "cedar" style K "cedar" style K "cedar" styleK "cedar" style K "cedar" style K "cedar" styleK "cedar" styleK "cedar" style K "cedar" styleK "cedar" style K "cedar" styleK "cedar" styleK "cedar" styleK "cedar" styleK "cedar" styleK "cedar" styleK "cedar" styleK "cedar" styleK "cedar" styleK "cedar" style K "cedar" styleK "cedar" style K "cedar" styleK "cedar" styleK "cedar" style K "cedar" styleK "cedar" styleK "cedar" styleK "cedar" styleK "cedar" style"K "cedar" style "cedar" styleK "cedar" style @K "cedar" style "cedar" styleK "cedar" style4K "cedar" style (:K "cedar" styleSK "cedar" styleLK "cedar" style K "cedar" style;K "cedar" style "cedar" styleK "cedar" styleK "cedar" style "cedar" styleK "cedar" style K "cedar" style K "cedar" style K "cedar" style K "cedar" style "cedar" styleK "cedar" style KK "cedar" style EK "cedar" style "cedar" styleK "cedar" style RK "cedar" style "cedar" styleK "cedar" style K "cedar" style "2K "cedar" style &8K "cedar" style K "cedar" style "cedar" styleK "cedar" styleK "cedar" style#1K "cedar" style '7K "cedar" style"8K "cedar" style'?K "cedar" style "cedar" styleK "cedar" style  CK "cedar" style #6K "cedar" style'