drawFittedPath function

void drawFittedPath(
  1. Canvas canvas,
  2. Path path, {
  3. required Offset center,
  4. required double targetDiameter,
  5. required Paint paint,
  6. FittedPathMetrics? metrics,
})

Implementation

void drawFittedPath(
  ui.Canvas canvas,
  ui.Path path, {
  required ui.Offset center,
  required double targetDiameter,
  required ui.Paint paint,
  FittedPathMetrics? metrics,
}) {
  final fitted = metrics ?? fittedPathMetricsFor(path);
  if (!fitted.isDrawable) return;

  final scale = fitted.scaleForDiameter(targetDiameter);

  canvas.save();
  canvas.translate(center.dx, center.dy);
  canvas.scale(scale, scale);
  canvas.translate(-fitted.centerX, -fitted.centerY);
  canvas.drawPath(path, paint);
  canvas.restore();
}