dashPaint static method

dynamic dashPaint(
  1. Canvas canvas,
  2. Offset start,
  3. Offset end,
  4. double dashWidth,
  5. double gapWidth,
  6. Paint paint,
)

Implementation

static dashPaint(Canvas canvas, Offset start, Offset end, double dashWidth,
    double gapWidth, Paint paint) {
  final double distance = (end - start).distance;
  final double step = dashWidth + gapWidth;
  final int count = (distance / step).floor();

  for (int i = 0; i <= count; i++) {
    final double t = i * step / distance;
    final double nextT = (i * step + dashWidth) / distance;
    canvas.drawLine(Offset.lerp(start, end, t)!,
        Offset.lerp(start, end, nextT.clamp(0.0, 1.0))!, paint);
  }
}