VirtualImplRep:
PUBLIC
TYPE ~
RECORD[
keyboard: KeyBits ← ALL[up], -- keyboard state, when not selected
mouse: Position ← [0, 0], -- mouse position, when not selected
bwCursorPosition: Position ← [0, 0], -- b/w cursor position, when not selected
bwCursorPattern: BWCursorBitmap ← ALL[0], -- b/w cursor pattern
bwBitmapState: BitmapState ← none, -- state of b/w display
bwBackground: BWBackground ← white, -- b/w background color
bwBorderOdd: BWBorder ← 0, -- b/w border pattern
bwBorderEven: BWBorder ← 0, -- b/w border pattern
bwFrameBuffer: FrameBuffer ← NIL, -- b/w frame buffer
colorMode: ColorMode ← [FALSE, 0, 0],
colorMapVM: CountedVM.Handle ← NIL,
colorMap: ColorDisplayFace.ColorMap ← NIL,
colorBitmapState: BitmapState ← none,
colorVisibility: ChannelsVisible ← none,
colorFrameBufferA: FrameBuffer ← NIL,
colorFrameBufferB: FrameBuffer ← NIL,
colorCursorPosition: Terminal.Position ← [0, 0],
colorCursorPattern: Terminal.ColorCursorBitmap ← ALL[0],
colorCursorPresentation: Terminal.ColorCursorPresentation ← onesAreBlack,
colorCursorState: Terminal.ColorCursorBitmapState ← visible,
colorCursorDisplayed: BOOL ← FALSE,
colorFrameLocked: BOOL ← FALSE,
xmin, ymin, xmax, ymax: NAT ← 0,
colorCursorSourceA, colorCursorSourceB: LONG POINTER ← NIL,
colorCursorBackupA, colorCursorBackupB: LONG POINTER ← NIL,
colorCursorVM: CountedVM.Handle ← NIL,
colorDisplayChanging: BOOL ← FALSE,
colorDisplayStable: CONDITION,
notifiers: Notifier ← NIL -- swap notifiers
];