DIRECTORY Imager USING [ConstantColor, Context, Rectangle], IO USING [STREAM], Graph USING [AutoType, CaretIndex, ColorIndex, GRAPH, Entity, EntityGroup, FontIndex, GraphColors, GraphFonts, GraphHandle, GraphProc, NullRect, PaintAction, 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; 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: GraphProc; IsController: PROC [viewer: Viewer] RETURNS [BOOL]; PaintAll: PROC [handle: GraphHandle, clear, clientOnly: BOOL _ TRUE]; PaintAllCurves: PROC [handle: GraphHandle, clear: BOOL _ FALSE]; PaintRect: PROC [handle: GraphHandle, action: PaintAction _ paint, clear: BOOL _ TRUE, rect: Imager.Rectangle _ NullRect]; PaintText: PROC [handle: GraphHandle, action: PaintAction _ paint, text: Text _ NIL]; PaintEntity: PROC [handle: GraphHandle, action: PaintAction _ paint, entity: Entity _ NIL, withLegend: BOOL _ TRUE]; PaintTails: PROC [handle: GraphHandle, action: PaintAction _ paint, v1, v2: ValueList _ NIL, x1, x2: REAL _ 0.0, reversed: BOOL _ TRUE]; PaintTarget: PROC [handle: GraphHandle, action: PaintAction _ paint, choice: XY _ x]; PaintGrids: PROC [handle: GraphHandle, action: PaintAction _ paint, choice: XY _ x]; PaintLegend: PUBLIC PROC [handle: GraphHandle, action: PaintAction _ paint, start: Entity, onlyOne: BOOL _ FALSE]; PaintClient: GraphProc; Draw: PROC [context: Imager.Context, handle: GraphHandle]; 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]; 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: GraphPlaceProc; AddTextButton: PROC [handle: GraphHandle, text: Text]; AddEntityButton: PROC [handle: GraphHandle, entity: Entity _ NIL]; AddGroupButton: PROC [handle: GraphHandle, entityGroup: EntityGroup]; Update: GraphAtomProc; ShowChart: GraphProc; IsGraphViewer: PROC [viewer: Viewer] RETURNS [BOOL]; SaveGraph: PROC [viewer: Viewer, file: ROPE, plottedOnly: BOOL _ TRUE] RETURNS [msg: ROPE]; 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 c 1985 by Xerox Corporation. All rights reserved. Last Edited: Sweetsun Chen, November 17, 1985 2:25:39 am PST 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 Κ˜Jšœ#Οmœ1™U™ Icode™/—J˜šΟk ˜ Jšœžœ%˜1Jšžœžœžœ˜Jš œžœ$žœjžœžœ˜ΑJšœžœ˜—J˜Jšœžœž œžœ˜/J™JšΟnœžœžœžœ˜CJšŸ œžœžœžœ˜=JšŸœžœžœžœ˜@Jš Ÿœžœžœžœžœ žœ˜:J˜Jš œ žœžœžœžœ˜Jšœžœ žœžœ˜+Jšœ žœ žœžœ˜)Jšœ žœ žœžœ˜'J˜Jšœ Οc!™-Jšœ˜Jšœ˜Jšœ žœ žœ˜6J™J™ šœ™Jšœ˜JšŸ œžœžœžœ˜3—J™™JšŸœžœ*žœžœ˜EJšŸœžœžœžœ˜@JšŸ œžœ;žœžœ%˜zJšŸ œžœAžœ˜UJš Ÿ œžœEžœžœžœ˜tJš Ÿ œžœHžœ žœžœžœ˜ˆJšŸ œžœ<žœ˜UJšŸ œžœ<žœ˜TJš Ÿ œžœžœLžœžœ˜rJšŸ œ ˜—J™™JšŸœžœ0˜:—J™™JšŸ œžœ'˜7J˜Jšœ˜JšŸœžœ4˜MJ˜Jšœ ˜ JšŸ œžœžœ˜/J˜Jšœ ˜ Jšœ ˜ Jšœ˜Jšœ ˜ Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜J˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ J˜Jšœ ˜ Jšœ˜Kšœ˜Jšœ˜J˜Jšœ˜Jšœ˜Jšœ˜Jšœ"˜"—J™™JšŸ œŸœžœžœ˜@—J™™JšŸœžœžœžœ˜4JšŸ œžœ(˜:JšŸœžœžœ˜SJšŸœžœžœ˜LJšŸœžœ˜ JšŸœžœžœžœ˜;—J˜™Jšœ˜—J™šœ™Jšœ˜Jšœ ˜ J˜ Jšœ˜—J™™Jš Ÿœžœžœžœžœ˜KJš Ÿœžœžœžœžœ˜EJ™—™JšŸ œžœžœžœžœžœžœ˜RJ™—™JšŸ œ˜JšŸ œžœ"˜2JšŸ œžœ&˜8J™—™JšŸœ˜JšŸœžœ#˜1JšŸ œžœ'˜7JšŸœžœ"˜8JšŸœžœ'˜?—J™™JšŸ œ˜JšŸ œžœ#˜6JšŸœžœ(žœ˜BJšŸœžœ0˜E—J™™Jšœ˜—J™™Jšœ˜JšŸ œžœžœžœ˜4—J˜™JšŸ œžœžœžœžœžœžœ˜[JšŸœžœžœžœžœžœžœ˜nJš Ÿ œžœžœž œžœ˜J—J˜J™šžœžœ˜ Jšœ-žœ˜1—J™—…—.Ϋ