vtcode_tui/core_tui/session/
impl_scroll.rs1use super::*;
2
3impl Session {
4 pub fn scroll_offset(&self) -> usize {
5 self.scroll_manager.offset()
6 }
7
8 #[expect(dead_code)]
9 pub(crate) fn scroll_to_top(&mut self) {
10 self.mark_scrolling();
11 self.ensure_scroll_metrics();
12 let previous_offset = self.scroll_manager.offset();
13 self.scroll_manager.scroll_to_bottom();
15 let offset_delta = self.scroll_manager.offset() as i64 - previous_offset as i64;
16 self.mouse_selection.adjust_for_scroll(offset_delta as i32);
17 self.user_scrolled = true;
18 self.mark_dirty();
19 }
20
21 #[expect(dead_code)]
22 pub(crate) fn scroll_to_bottom(&mut self) {
23 self.mark_scrolling();
24 self.ensure_scroll_metrics();
25 let previous_offset = self.scroll_manager.offset();
26 self.scroll_manager.scroll_to_top();
28 let offset_delta = self.scroll_manager.offset() as i64 - previous_offset as i64;
29 self.mouse_selection.adjust_for_scroll(offset_delta as i32);
30 self.user_scrolled = false;
31 self.mark_dirty();
32 }
33}