adjustScroll method

void adjustScroll(
  1. int viewportHeight
)

Adjusts the scroll offset so that the selectedIndex item is visible.

Implementation

void adjustScroll(int viewportHeight) {
  if (flatNodes.isEmpty || viewportHeight <= 0) return;
  selectedIndex = selectedIndex.clamp(0, flatNodes.length - 1);

  if (selectedIndex < scrollOffset) {
    scrollOffset = selectedIndex;
  } else if (selectedIndex >= scrollOffset + viewportHeight) {
    scrollOffset = selectedIndex - viewportHeight + 1;
  }
  scrollOffset = scrollOffset.clamp(
    0,
    (flatNodes.length - viewportHeight).clamp(0, flatNodes.length),
  );
}