Struct cursive_core::views::ScrollView
source · pub struct ScrollView<V> { /* private fields */ }
Expand description
Wraps a view in a scrollable area.
Implementations§
source§impl<V> ScrollView<V>
impl<V> ScrollView<V>
sourcepub fn content_viewport(&self) -> Rect
pub fn content_viewport(&self) -> Rect
Returns the viewport in the inner content.
sourcepub fn inner_size(&self) -> Vec2
pub fn inner_size(&self) -> Vec2
Returns the size of the content view, as it was on the last layout phase.
This is only the size the content thinks it has, and may be larger
than the actual size used by this ScrollView
.
sourcepub fn is_at_bottom(&self) -> bool
pub fn is_at_bottom(&self) -> bool
Returns true
if the bottom row of the content is in view.
sourcepub fn is_at_left_edge(&self) -> bool
pub fn is_at_left_edge(&self) -> bool
Return true
if the left-most column of the content is in view.
sourcepub fn is_at_right_edge(&self) -> bool
pub fn is_at_right_edge(&self) -> bool
Return true
if the right-most column of the content is in view.
sourcepub fn set_scroll_strategy(&mut self, strategy: ScrollStrategy) -> EventResultwhere
V: View,
pub fn set_scroll_strategy(&mut self, strategy: ScrollStrategy) -> EventResultwhere
V: View,
Defines the way scrolling is adjusted on content or size change.
The scroll strategy defines how the scrolling position is adjusted when the size of the view or the content change.
It is reset to ScrollStrategy::KeepRow
whenever the user scrolls
manually.
sourcepub fn scroll_strategy(self, strategy: ScrollStrategy) -> Selfwhere
V: View,
pub fn scroll_strategy(self, strategy: ScrollStrategy) -> Selfwhere
V: View,
Defines the way scrolling is adjusted on content or size change.
Chainable variant.
sourcepub fn set_show_scrollbars(&mut self, show_scrollbars: bool)
pub fn set_show_scrollbars(&mut self, show_scrollbars: bool)
Control whether scroll bars are visibile.
Defaults to true
.
sourcepub fn show_scrollbars(self, show_scrollbars: bool) -> Self
pub fn show_scrollbars(self, show_scrollbars: bool) -> Self
Control whether scroll bars are visibile.
Chainable variant
sourcepub fn set_offset<S>(&mut self, offset: S) -> EventResultwhere
V: View,
S: Into<Vec2>,
pub fn set_offset<S>(&mut self, offset: S) -> EventResultwhere
V: View,
S: Into<Vec2>,
Sets the scroll offset to the given value
sourcepub fn set_scroll_y(&mut self, enabled: bool) -> EventResult
pub fn set_scroll_y(&mut self, enabled: bool) -> EventResult
Controls whether this view can scroll vertically.
Defaults to true
.
sourcepub fn set_scroll_x(&mut self, enabled: bool) -> EventResult
pub fn set_scroll_x(&mut self, enabled: bool) -> EventResult
Controls whether this view can scroll horizontally.
Defaults to false
.
sourcepub fn scroll_y(self, enabled: bool) -> Self
pub fn scroll_y(self, enabled: bool) -> Self
Controls whether this view can scroll vertically.
Defaults to true
.
Chainable variant.
sourcepub fn scroll_x(self, enabled: bool) -> Self
pub fn scroll_x(self, enabled: bool) -> Self
Controls whether this view can scroll horizontally.
Defaults to false
.
Chainable variant.
sourcepub fn scroll_to_top(&mut self) -> EventResultwhere
V: View,
pub fn scroll_to_top(&mut self) -> EventResultwhere
V: View,
Programmatically scroll to the top of the view.
sourcepub fn scroll_to_bottom(&mut self) -> EventResultwhere
V: View,
pub fn scroll_to_bottom(&mut self) -> EventResultwhere
V: View,
Programmatically scroll to the bottom of the view.
sourcepub fn scroll_to_left(&mut self) -> EventResultwhere
V: View,
pub fn scroll_to_left(&mut self) -> EventResultwhere
V: View,
Programmatically scroll to the leftmost side of the view.
sourcepub fn scroll_to_right(&mut self) -> EventResultwhere
V: View,
pub fn scroll_to_right(&mut self) -> EventResultwhere
V: View,
Programmatically scroll to the rightmost side of the view.
sourcepub fn scroll_to_important_area(&mut self) -> EventResultwhere
V: View,
pub fn scroll_to_important_area(&mut self) -> EventResultwhere
V: View,
Programmatically scroll until the child’s important area is in view.
sourcepub fn into_inner(self) -> V
pub fn into_inner(self) -> V
Returns the wrapped view.
sourcepub fn set_on_scroll_inner<F>(&mut self, on_scroll: F)where
F: FnMut(&mut Self, Rect) -> EventResult + 'static,
pub fn set_on_scroll_inner<F>(&mut self, on_scroll: F)where
F: FnMut(&mut Self, Rect) -> EventResult + 'static,
Sets a callback to be run whenever scrolling happens.
This lets the callback access the ScrollView
itself (and its child)
if necessary.
If you just need to run a callback on &mut Cursive
, consider
set_on_scroll
.
sourcepub fn set_on_scroll<F>(&mut self, on_scroll: F)where
F: FnMut(&mut Cursive, Rect) + 'static,
pub fn set_on_scroll<F>(&mut self, on_scroll: F)where
F: FnMut(&mut Cursive, Rect) + 'static,
Sets a callback to be run whenever scrolling happens.
sourcepub fn set_on_scroll_change_inner<F>(&mut self, on_scroll: F)where
F: FnMut(&mut Self, Rect) -> EventResult + 'static,
V: 'static,
pub fn set_on_scroll_change_inner<F>(&mut self, on_scroll: F)where
F: FnMut(&mut Self, Rect) -> EventResult + 'static,
V: 'static,
Sets a callback to be run whenever the scroll offset changes.
sourcepub fn set_on_scroll_change<F>(&mut self, on_scroll: F)where
F: FnMut(&mut Cursive, Rect) + 'static,
V: 'static,
pub fn set_on_scroll_change<F>(&mut self, on_scroll: F)where
F: FnMut(&mut Cursive, Rect) + 'static,
V: 'static,
Sets a callback to be run whenever the scroll offset changes.
sourcepub fn on_scroll_inner<F>(self, on_scroll: F) -> Selfwhere
F: Fn(&mut Self, Rect) -> EventResult + 'static,
pub fn on_scroll_inner<F>(self, on_scroll: F) -> Selfwhere
F: Fn(&mut Self, Rect) -> EventResult + 'static,
Sets a callback to be run whenever scrolling happens.
This lets the callback access the ScrollView
itself (and its child)
if necessary.
If you just need to run a callback on &mut Cursive
, consider
set_on_scroll
.
Chainable variant.
sourcepub fn on_scroll<F>(self, on_scroll: F) -> Selfwhere
F: FnMut(&mut Cursive, Rect) + 'static,
pub fn on_scroll<F>(self, on_scroll: F) -> Selfwhere
F: FnMut(&mut Cursive, Rect) + 'static,
Sets a callback to be run whenever scrolling happens.
Chainable variant.
sourcepub fn get_inner_mut(&mut self) -> &mut V
pub fn get_inner_mut(&mut self) -> &mut V
Gets mutable access to the inner view.