paintOnCircle method
void
paintOnCircle(})
Paint the Pattern on a Circle
, defined by a center
Offset and a radius
.
If PatternScaleBehavior.customRect is specified, you must also provide a customRect
to scale the Pattern to.
Implementation
void paintOnCircle(Canvas canvas, Size size, Offset center, double radius,
{PatternScaleBehavior patternScaleBehavior =
PatternScaleBehavior.container,
Rect? customRect}) {
canvas.save();
final Rect rect =
Rect.fromCircle(center: Offset(center.dx, center.dy), radius: radius);
final Path circle = Path()..addOval(rect);
canvas.clipPath(circle);
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();
}