Area.filled constructor

Area.filled({
  1. required int width,
  2. required int height,
  3. int xOffset = 0,
  4. int yOffset = 0,
  5. bool omitCentre = false,
})

Implementation

factory Area.filled({
  required int width,
  required int height,
  int xOffset = 0,
  int yOffset = 0,
  bool omitCentre = false,
}) {
  int xStart = -(width ~/ 2) + xOffset;
  int yStart = -(height ~/ 2) + yOffset;
  List<Direction> dirs = List.generate(
    width,
    (x) => List.generate(height, (y) => Direction(x + xStart, y + yStart)),
  ).expand((e) => e).toList();
  if (omitCentre) {
    dirs.remove(Direction(0, 0));
  }
  return Area(directions: dirs);
}