buildStarPath static method

Path buildStarPath(
  1. Offset center,
  2. double outerRadius,
  3. int points,
  4. double innerRatio,
)

Builds a star path for custom presets.

Implementation

static Path buildStarPath(
  Offset center,
  double outerRadius,
  int points,
  double innerRatio,
) {
  final innerRadius = outerRadius * innerRatio;
  final angleStep = math.pi / points;
  final path = Path();

  for (int i = 0; i < points * 2; i++) {
    final radius = (i % 2 == 0) ? outerRadius : innerRadius;
    final angle = -math.pi / 2 + angleStep * i;
    final dx = center.dx + math.cos(angle) * radius;
    final dy = center.dy + math.sin(angle) * radius;
    if (i == 0) {
      path.moveTo(dx, dy);
    } else {
      path.lineTo(dx, dy);
    }
  }
  path.close();
  return path;
}