visibleRangeByHeight method
Implementation
VisibleLineRange visibleRangeByHeight({
required double viewTop,
required double viewBottom,
}) {
if (_root.summary.lines == 0) {
return const VisibleLineRange(firstLine: 0, lastLine: 0, firstLineY: 0);
}
final first = _root.seekHeight(math.max(0, viewTop));
final last = _root.seekHeight(math.max(viewTop, viewBottom));
final maxLine = _root.summary.lines - 1;
return VisibleLineRange(
firstLine: first.line.clamp(0, maxLine),
lastLine: last.line.clamp(first.line, maxLine),
firstLineY: first.offset,
);
}