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) {
  if (size.width <= 0 || size.height <= 0) return;
  final row = widget as Row;
  if (row.backgroundChar != null) {
    final char = row.backgroundChar!;
    final style = row.backgroundStyle ?? Style.empty;
    final startX = offset.dx;
    final startY = offset.dy;
    for (var y = 0; y < size.height; y++) {
      for (var x = 0; x < size.width; x++) {
        buffer.setAttributes(
          startX + x,
          startY + y,
          char: char,
          fg: style.foreground?.argb ?? 0,
          bg: style.background?.argb ?? 0,
          modifiers: style.modifiers,
        );
      }
    }
  }
  for (final child in childElements) {
    child.paint(buffer, offset + child.relativeOffset);
  }
}