<<>> <> <> <> <> <<>> DIRECTORY Atom, Commander, Convert, Imager, ImagerBackdoor, ImagerBox, ImagerFont, ImagerPath, ImagerTransformation, IO, EditSpan, EditSpanSupport, MessageWindow, NodeProps, NodeStyle, NodeStyleOps, QPSetup, Real, RealFns, RefTab, Rope, TEditDocument, TEditFormat, TEditInput, TEditInputOps, TEditSelection, TextEdit, TextNode, Tioga, TiogaAccess, TiogaImager, ViewerClasses, ViewerOps, ViewerTools; Hobo: CEDAR DEFINITIONS ~ BEGIN <> ROPE: TYPE ~ Rope.ROPE; Viewer: TYPE ~ ViewerClasses.Viewer; CharacterArtworkClass: TYPE ~ TEditFormat.CharacterArtworkClass; CharacterArtworkClassRep: TYPE ~ TEditFormat.CharacterArtworkClassRep; CharacterArtwork: TYPE ~ TEditFormat.CharacterArtwork; CharacterArtworkRep: TYPE ~ TEditFormat.CharacterArtworkRep; Ref: TYPE = REF NodeBody; NodeBody: PUBLIC TYPE ~ Tioga.NodeRep; Graph: TYPE ~ QPSetup.Graph; Vertex: TYPE ~ QPSetup.Vertex; Edge: TYPE ~ QPSetup.Edge; <> PaintInfo: TYPE ~ REF PaintInfoRep; PaintInfoRep: TYPE ~ RECORD [ color: Imager.Color, extents: ImagerFont.Extents ¬ [leftExtent: 0.0, rightExtent: 0.0, descent: 16.0, ascent: 10.0], reach: REAL ¬ 6.0, hscale: REAL ¬ 1.0, hshift: REAL ¬ 0.0, vscale: REAL ¬ 1.0, vshift: REAL ¬ 0.0, font: ImagerFont.Font, chars: ROPE, box: TiogaImager.Box, showBounds: BOOL ¬ TRUE ]; BoxCharData: TYPE ~ REF BoxCharDataRep; BoxCharDataRep: TYPE ~ RECORD [ node: TextNode.Ref ¬ NIL, screenBox: TiogaImager.Box ¬ NIL, printBox: TiogaImager.Box ¬ NIL ]; BoxMakerRec: TYPE ~ REF BoxMakerRecRep; BoxMakerRecRep: TYPE ~ RECORD [ name: ATOM, proc: BoxMakerProc, doc: ROPE ]; BoxMakerProc: TYPE ~ PROC [first, last: TextNode.Location, train: Train, bounds: Imager.VEC] RETURNS [TiogaImager.Box]; BarData: TYPE ~ REF BarDataRep; BarDataRep: TYPE ~ RECORD [width: REAL ¬ 1.0, height: REAL ¬ 1.0]; barClass: TiogaImager.Class; Train: TYPE ~ RECORD [ loc: TextNode.Location, style: NodeStyle.Ref ]; Grid: TYPE ~ REF GridRep; GridRep: TYPE ~ RECORD [ origin: Imager.VEC ¬ [0, 0], maxLevel, maxPlumb: NAT ¬ 0, entryList: LIST OF GridEntry ¬ NIL, sepList: LIST OF GridSep ¬ NIL, fillList: LIST OF GridFill ¬ NIL, centerList: RefTab.Ref ¬ NIL, levelBase, plumbBase: ROPE ¬ NIL, graph: Graph ]; GridEntry: TYPE ~ RECORD [tackLevel, tackPlumb: Vertex, box: TiogaImager.Box]; GridSep: TYPE ~ RECORD [ topLevel, topPlumb, botLevel, botPlumb: Vertex, barThickness: REAL <> ]; GridFill: TYPE ~ RECORD [ topLevel, topPlumb, botLevel, botPlumb: Vertex, fillColor: Imager.Color ]; Corner: TYPE ~ RECORD [level, plumb: NAT]; FeaturePair: TYPE ~ RECORD[ level, plumb: Feature, line: INT ¬ 1, charSet: TextEdit.CharSet ¬ 0, char: CHAR ¬ '. ]; Feature: TYPE ~ CHAR; gridClass: TiogaImager.Class; END. ..