SimpleDisplayStateRep:
TYPE =
MONITORED RECORD [
paintDone: CONDITION,
sdvData: REF ANY, -- viewers client data
topViewer, aViewer: ViewerClasses.Viewer,
theLines: REF LinesRep,
-- In control of flushing accumulated changed to the display
flushMode: FlushModeType ← FlushOnBlock,
changeCount: INT ← 0, -- how many changes since last flush
changeCountLimit: INT ← 250, -- flush after this many changes
out: IO.STREAM, -- transcript
logging: BOOLEAN ← FALSE,
driver: IO.STREAM, -- UnixFileDescriptorStream of the Unix fd where
-- plumb get characters to write to the screen
emphs: CharDisplays.Emphs,
hasSomeEmphasis: BOOLEAN ← FALSE,
debugChars: BOOLEAN ← FALSE,
debugCM: BOOLEAN ← FALSE,
debugOps: BOOLEAN ← FALSE,
debugScroll: BOOLEAN ← FALSE,
debugViewers: BOOLEAN ← FALSE,
debugEmph: BOOLEAN ← FALSE
];