toTimeOverlay method
TimeOverlay?
toTimeOverlay(
- BuildContext context, {
- required DateTime date,
- required Widget widget,
- TimeOverlayPosition position = TimeOverlayPosition.inFrontOfEvents,
Implementation
TimeOverlay? toTimeOverlay(
BuildContext context, {
required DateTime date,
required Widget widget,
TimeOverlayPosition position = TimeOverlayPosition.inFrontOfEvents,
}) {
assert(date.debugCheckIsValidTimetableDate());
final controller = DefaultTimeController.of(context)!;
final _start = controller.maxRange.startTime;
final _end = controller.maxRange.endTime;
final dateStart = date.add(_start);
final dateEnd = date.add(_end);
final intersects = start.isSameOrBefore(dateEnd) && endInclusive.isSameOrAfter(dateStart);
// print("Timeoverlay: $start $end | $date => $intersects");
if (!intersects) {
return null;
}
// start=25. 12h, end=25. 13h
// dateStart=24. 21h, dateEnd=26. 2h
final deltaStart = start.difference(dateStart);
final deltaEnd = endInclusive.difference(dateStart);
// print("Timeoverlay: deltaStart: $deltaStart - $deltaEnd");
return TimeOverlay(
start: deltaStart,
end: deltaEnd,
widget: widget,
position: position,
);
}