performPaint method

  1. @override
void performPaint(
  1. Buffer buffer,
  2. Offset offset
)
override

Hook for subclasses to implement actual painting.

Implementation

@override
void performPaint(Buffer buffer, Offset offset) {
  final grid = widget as Grid;
  final w = size.width;
  final h = size.height;

  for (var y = 0; y < grid.tiles.length; y++) {
    if (y >= h) break;
    final row = grid.tiles[y];
    for (var x = 0; x < row.length; x++) {
      if (x >= w) break;
      buffer.setAttributes(
        (offset.dx + x).toInt(),
        (offset.dy + y).toInt(),
        char: row[x].char,
        fg: row[x].style.foreground?.argb,
        bg: row[x].style.background?.argb,
        modifiers: row[x].style.modifiers,
      );
    }
  }
}