getRanksCoordinates function

Iterable<Widget> getRanksCoordinates({
  1. required double boardSize,
  2. required bool left,
  3. required bool reversed,
  4. required Color coordinatesColor,
})

Implementation

Iterable<Widget> getRanksCoordinates({
  required double boardSize,
  required bool left,
  required bool reversed,
  required Color coordinatesColor,
}) {
  final commonTextStyle = TextStyle(
    color: coordinatesColor,
    fontWeight: FontWeight.bold,
    fontSize: boardSize * 0.04,
  );

  return [0, 1, 2, 3, 4, 5, 6, 7].map((rank) {
    final letterOffset = reversed ? rank : 7 - rank;
    final letter = String.fromCharCode('1'.codeUnitAt(0) + letterOffset);
    return Positioned(
      left: boardSize * (left ? 0.012 : 0.965),
      top: boardSize * (0.09 + 0.113 * rank),
      child: Text(
        letter,
        style: commonTextStyle,
      ),
    );
  });
}