resolveOffset method

DateTime resolveOffset(
  1. Offset globalOffset
)

Implementation

DateTime resolveOffset(Offset globalOffset) {
  final renderBox = _findRenderBox();
  final size = renderBox.size;
  final localOffset = renderBox.globalToLocal(globalOffset);
  final pageValue = DefaultDateController.of(context)!.value;
  final page = (pageValue.page + localOffset.dx / size.width * pageValue.visibleDayCount).floor();

  final tCtrlr = DefaultTimeController.of(context)!;
  final maxDuration = tCtrlr.maxRange.duration;
  final columnStart = DateTimeTimetable.dateFromPage(page).atStartOfDay + tCtrlr.maxRange.startTime;
  // print("columnStart: $columnStart");
  // print("tCtrlr: ${tCtrlr.maxRange.startTime} ${tCtrlr.maxRange.endTime} -> $maxDuration");

  final percentage = (localOffset.dy) / size.height;
  final timeAfterColumnStart = maxDuration * percentage;
  // print("timeAfterColumnStart: $timeAfterColumnStart");

  return columnStart + timeAfterColumnStart;
}