findInBounds method

List<ZoneInfo> findInBounds(
  1. MouseMsg msg
)

Returns all zones that contain the given mouse position.

Useful when zones might overlap and you need to handle all of them.

Implementation

List<ZoneInfo> findInBounds(MouseMsg msg) {
  final result = <ZoneInfo>[];
  final sortedKeys = _zones.keys.toList()..sort();

  for (final key in sortedKeys) {
    final zone = _zones[key]!;
    if (zone.inBounds(msg)) {
      result.add(zone);
    }
  }

  return result;
}