<> <> <> <> <> <<>> <> <<>> DIRECTORY TerminalDefs USING [Background, Cursor, KeyBits, Position]; TerminalFace: CEDAR DEFINITIONS ~ BEGIN OPEN TerminalDefs; <> keyboard: READONLY LONG POINTER TO READONLY KeyBits; GetKeyboard: PROC RETURNS [KeyBits] ~ TRUSTED INLINE { RETURN[keyboard^] }; <> mousePosition: READONLY LONG POINTER TO READONLY Position; GetMousePosition: PROC RETURNS [Position] ~ TRUSTED INLINE { RETURN[mousePosition^] }; <> SetMousePosition: PROC [Position]; <> <> cursorPosition: READONLY LONG POINTER TO Position; <> <<>> GetCursorPosition: PROC RETURNS [Position] ~ TRUSTED INLINE { RETURN[cursorPosition^] }; SetCursorPosition: PROC [position: Position] ~ TRUSTED INLINE { cursorPosition^ _ position }; SetCursorPattern: PROC [cursor: Cursor]; <> <<>> <> <> <> hasBuffer: READONLY BOOL; < display implementation provides real memory for bitmap;>> < client provides real memory for bitmap.>> <<>> pixelsPerInch: READONLY CARDINAL; -- Size of a pixel refreshRate: READONLY CARDINAL; -- Times per second that entire screen is refreshed interlaced: READONLY BOOL; -- Is the refresh two-way interlaced? width: READONLY NAT; -- width of display in pixels (bits) height: READONLY NAT; -- height of display in pixels (scan lines) wordsPerLine: READONLY NAT; -- number of words per scan line Connect: UNSAFE PROC [base: LONG POINTER]; <> <<>> Disconnect: PROC; <> <<>> TurnOn: UNSAFE PROC; <> <> <<>> TurnOff: PROC; <> <<>> SetBackground: PROC [background: Background]; < normal (black on white) view of bitmap (0=>white, 1=>black);>> < inverted (white on black) view of bitmap (0=>black, 1=>white);>> <<>> hasBorder: READONLY BOOL; -- Is border pattern implemented? SetBorderPattern: PROC [oddPairs, evenPairs: [0..377B]]; <> <<>> <> MonitorType: TYPE = {alto, lf}; <> <> <> <> <> <<>> monitorType: MonitorType; <> <<>> FieldRate: TYPE = {normalAlto, normalLF, lfBall60hz, lfPhillips60hz}; <<>> SetFieldRate: PROC [rate: FieldRate] RETURNS [ok: BOOL]; <> <<>> SetVerticalWaveforms: PROC [sync, visible, topBorder: CARDINAL] RETURNS [ok: BOOL]; <> <> <> <> <> <> <> <> hasSoundGenerator: READONLY BOOL; -- is sound generator implemented? Beep: PROC [frequency, duration: CARDINAL]; <> <> globalStateSize: READONLY CARDINAL; <<>> Initialize: UNSAFE PROC [globalState: LONG POINTER, wakeVF: WORD]; <> <<>> InitializeCleanup: PROC; <> END.