paint method
Default paint implementation.
RenderBox paints no self-content; it forwards painting to its RenderBox children. Subclasses override to draw their own content.
Implementation
@override
void paint(PaintingContext context, Offset offset) {
final originX = offset.dx + x;
final originY = offset.dy + y;
final viewportW = _viewportWidth;
final viewportH = _viewportHeight;
final c = child;
if (c != null) {
// Paint child, translated by -offset, clipped to viewport.
final scrollX = _scrollDirection == Axis.horizontal
? -_controller.offset.round()
: 0;
final scrollY = _scrollDirection == Axis.vertical
? -_controller.offset.round()
: 0;
context.canvas.save();
context.canvas.clipRect(
Rect.fromLTWH(originX, originY, viewportW, viewportH),
);
context.paintChild(c, Offset(originX + scrollX, originY + scrollY));
context.canvas.restore();
}
if (_showScrollbar) {
_paintScrollbar(context, originX, originY, viewportW, viewportH);
}
}