beginIndexForScrollOffset static method
double
beginIndexForScrollOffset(
{ - required double offset,
- required double itemExtent,
- required double itemCount,
- required int dataLength,
})
Implementation
static double beginIndexForScrollOffset({
required double offset,
required double itemExtent,
required double itemCount,
required int dataLength,
}) {
if (dataLength <= 0 || itemCount <= 0 || itemExtent <= 0) {
return 0.0;
}
final rawBeginIndex = offset / itemExtent;
if (rawBeginIndex.isNaN || rawBeginIndex.isInfinite) {
return 0.0;
}
final maxBeginIndex = max(0.0, dataLength - itemCount);
return rawBeginIndex.clamp(0.0, maxBeginIndex).toDouble();
}