rowAt method
Row containing offset, clamped to the addressable rows.
Implementation
int rowAt(double offset) {
if (length == 0) return 0;
var low = 0, high = length - 1;
while (low < high) {
final middle = (low + high + 1) ~/ 2;
if (offsetFor(middle) <= offset) {
low = middle;
} else {
high = middle - 1;
}
}
return low;
}