flushArea method
Flushes the contents of a rectangular area
to the terminal.
This writes spaces over the specified area at the current cursor position, using ANSI escape codes for cursor positioning.
Note: This implementation currently clears the area visually without redrawing the buffer content.
Implementation
void flushArea(Rect area) {
for (int line = area.y; line < area.y + area.height; line++) {
if (line >= _screenBuffer.length) break;
if (cursorOriginalColumn != -1 && cursorOriginalLine != -1) {
final cursorLine = isFullscreen ? line + 1 : cursorOriginalLine + line;
final cursorColumn = isFullscreen ? 1 : cursorOriginalColumn;
String cursorMove = '\x1B[$cursorLine;${cursorColumn}H';
stdout.write(cursorMove);
}
for (int column = area.x; column < area.x + area.width; column++) {
if (column >= _screenBuffer[0].length) break;
stdout.write(' ');
}
}
}