paintOnRect method

void paintOnRect(
  1. Canvas canvas,
  2. Size size,
  3. Rect rect, {
  4. PatternScaleBehavior patternScaleBehavior = PatternScaleBehavior.container,
  5. Rect? customRect,
})

Paint the Pattern on a Rect.

If PatternScaleBehavior.customRect is specified, you must also provide a customRect to scale the Pattern to.

Implementation

void paintOnRect(Canvas canvas, Size size, Rect rect,
    {PatternScaleBehavior patternScaleBehavior =
        PatternScaleBehavior.container,
    Rect? customRect}) {
  canvas.save();
  canvas.clipRect(rect);
  switch (patternScaleBehavior) {
    case PatternScaleBehavior.container:
      paintWithPattern(canvas, rect.left, rect.top, rect.width, rect.height);
      break;
    case PatternScaleBehavior.canvas:
      paintOnCanvas(canvas, size);
      break;
    case PatternScaleBehavior.customRect:
      paintWithPattern(canvas, customRect!.left, customRect.top,
          customRect.width, customRect.height);
      break;
  }
  canvas.restore();
}