ViewRep:
TYPE ~
RECORD [
doc: Doc ¬ NIL, -- the underlying document
window: Window ¬ NIL, -- window displaying this view
-- parameters --
cw, ch: INTEGER ¬ 0, -- width and height of view
styleKind: StyleKind ¬ screen, -- screen or print style
commentFilter: CommentFilter ¬ includeComments, -- controls showing of comment nodes
firstLinesOnly: BOOL ¬ FALSE, -- if true, display only first line of each node
clipLevel: NestingLevel ¬ NestingLevel.LAST, -- display no nodes deeper than this
scrollLoc: Tioga.Location ¬ [NIL, 0], -- starting location set by scrollbar
-- computed view --
lines: LineArray ¬ NIL, -- formatted lines
nLines: NAT ¬ 0, -- number of lines
maxLevel: NestingLevel ¬ 0, -- max nesting level currently displayed
stopLoc: Tioga.Location ¬ [NIL, 0], -- location of line that would follow view, if any
range: VisibleRange ¬ [0, 1], -- what portion of document is visible
propList: Atom.PropList ¬ NIL
];
LineRep:
TYPE ~
RECORD [
info: TEditFormat.LineInfo,
baseline: INTEGER ¬ 0, -- from top of viewer
resolve: INTEGER ¬ 0, -- from top of viewer
valid: BOOL ¬ FALSE -- metrics valid for this line
];