getEventAtPos method
Implementation
Event<T>? getEventAtPos(Offset pos) {
final Offset realPos = _toGridPos(pos);
// Only events in the tapped day-column can contain the point, so scan that
// one bucket instead of every event (#25). A tap outside the grid maps to
// an absent bucket and simply finds nothing.
final int day = (realPos.dx / config.blockWidth).floor();
final List<Event<T>>? candidates = _eventsByDay[day];
if (candidates == null) return null;
for (final Event<T> event in candidates) {
if (event.containsGridPoint(realPos)) {
return event;
}
}
return null;
}