ratatui_toolkit/widgets/markdown_widget/extensions/scrollbar/traits/
widget.rs1use ratatui::{buffer::Buffer, layout::Rect, widgets::Widget};
4
5use crate::widgets::markdown_widget::extensions::scrollbar::CustomScrollbar;
6
7impl<'a> Widget for CustomScrollbar<'a> {
8 fn render(self, area: Rect, buf: &mut Buffer) {
9 if area.width == 0 || area.height == 0 {
10 return;
11 }
12
13 if self.scroll_state.total_lines <= self.scroll_state.viewport_height {
15 return;
16 }
17
18 self.render_track(area, buf);
20
21 self.render_thumb(area, buf);
23
24 if self.show_percentage {
26 self.render_percentage(area, buf);
27 }
28 }
29}