CanvasBuffer constructor
Creates a CanvasBuffer with the specified width and height.
Initializes the internal buffer with empty spaces and prepares a previous frame buffer for diff-based rendering.
If isFullscreen is true, the terminal is switched into fullscreen mode
using TerminalFunctions.enterFullScreen, hiding scrollback and
occupying the entire screen.
The isFullscreen parameter allows the buffer to be immediately
ready for fullscreen rendering, otherwise it uses the current terminal
viewport.
Implementation
CanvasBuffer({
required this.width,
required this.height,
this.isFullscreen = false,
}) : _screenBuffer = List.generate(
height,
(_) => List.filled(width, BufferCell(char: ' ')),
),
_previousFrame = List.generate(
height,
(_) => List.filled(width, BufferCell(char: '')),
) {
if (isFullscreen) TerminalFunctions.enterFullScreen();
}