paint method

  1. @override
void paint(
  1. PaintingContext context,
  2. Offset offset
)
override

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 origin = offset + Offset(x, y);
  final child = this.child;

  // Decoration rect is in integer cell coordinates.
  final rect = Rect.fromLTWH(origin.dx, origin.dy, width, height);

  if (_position == DecorationPosition.background) {
    _decoration.paint(context.canvas, rect);

    if (child != null) {
      _paintChildClipped(context, child, origin, rect);
    }
  } else {
    if (child != null) {
      _paintChildClipped(context, child, origin, rect);
    }

    _decoration.paint(context.canvas, rect);
  }
}