<<>> <> <> <> <<>> DIRECTORY Atom, Commander, Convert, Imager, ImagerBackdoor, ImagerBox, ImagerFont, ImagerPath, ImagerTransformation, IO, EditSpan, EditSpanSupport, MessageWindow, NodeProps, NodeStyle, NodeStyleOps, PutGet, QPSetup, Real, RealFns, RefTab, Rope, TEditDocument, TEditFormat, TEditInput, TEditInputOps, TEditSelection, TextEdit, TextNode, TiogaAccess, TiogaImager, TreeFind, 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 ~ TextNode.Body; 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, styleOps: NodeStyleOps.OfStyle ]; 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. ..