Hobo.mesa
Copyright Ó 1988 by Xerox Corporation. All rights reserved.
Ken Shoemake, April 25, 1990 11:15 pm PDT
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
Abbreviations For Imported Types
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;
Defs For Private Types (local to module)
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: BOOLTRUE
];
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: ROPENIL,
graph: Graph
];
GridEntry: TYPE ~ RECORD [tackLevel, tackPlumb: Vertex, box: TiogaImager.Box];
GridSep: TYPE ~ RECORD [
topLevel, topPlumb, botLevel, botPlumb: Vertex,
barThickness: REAL
box: TiogaImager.Box
];
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.
..