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 textWidget = widget as Text;
  final area = Rect(offset.dx, offset.dy, size.width, size.height);

  final limit = textWidget.maxLines != null
      ? min(textWidget.maxLines!, area.height)
      : area.height;

  for (var i = 0; i < _cachedLines.length; i++) {
    if (i >= limit) break;
    final line = _cachedLines[i];

    buffer.writeString(
      area.x + line.startX,
      area.y + i,
      line.visibleChars,
      textWidget.style,
    );
  }
}