ring function

Iterable<Offset> ring(
  1. int k,
  2. double step
)

Implementation

@pragma('vm:prefer-inline')
Iterable<Offset> ring(int k, double step) sync* {
  for (int i = -k; i <= k; i++) {
    yield Offset(i * step, -k * step);
    if (k != 0) yield Offset(i * step, k * step);
  }
  for (int j = -k + 1; j <= k - 1; j++) {
    yield Offset(-k * step, j * step);
    if (k != 0) yield Offset(k * step, j * step);
  }
}