diff options
author | 2022-02-13 17:20:10 +0700 | |
---|---|---|
committer | 2022-02-13 17:20:10 +0700 | |
commit | 3f1a45ca47dc086a5c4e45867d3f9c63a4e7ba19 (patch) | |
tree | 81a5f754fbe4a2f9795f3f4098df734e8e59991a /pure/src/widget.rs | |
parent | 45455be45000c0d41d18eced1b62eab049c5e9c0 (diff) | |
download | iced-3f1a45ca47dc086a5c4e45867d3f9c63a4e7ba19.tar.gz iced-3f1a45ca47dc086a5c4e45867d3f9c63a4e7ba19.tar.bz2 iced-3f1a45ca47dc086a5c4e45867d3f9c63a4e7ba19.zip |
Implement `Slider` in `iced_pure`
Diffstat (limited to 'pure/src/widget.rs')
-rw-r--r-- | pure/src/widget.rs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/pure/src/widget.rs b/pure/src/widget.rs index 93298c61..009741a8 100644 --- a/pure/src/widget.rs +++ b/pure/src/widget.rs @@ -7,6 +7,7 @@ mod container; mod element; mod row; mod scrollable; +mod slider; mod text; mod text_input; mod tree; @@ -19,6 +20,7 @@ pub use element::Element; pub use image::Image; pub use row::Row; pub use scrollable::Scrollable; +pub use slider::Slider; pub use text::Text; pub use text_input::TextInput; pub use tree::Tree; @@ -36,8 +38,6 @@ pub trait Widget<Message, Renderer> { fn state(&self) -> Box<dyn Any>; - fn diff(&self, tree: &mut Tree); - fn children_state(&self) -> Vec<Tree>; fn width(&self) -> Length; @@ -62,6 +62,8 @@ pub trait Widget<Message, Renderer> { viewport: &Rectangle, ); + fn diff(&self, _tree: &mut Tree) {} + fn mouse_interaction( &self, _state: &Tree, @@ -149,6 +151,19 @@ where TextInput::new(placeholder, value, on_change) } +pub fn slider<'a, Message, Renderer, T>( + range: std::ops::RangeInclusive<T>, + value: T, + on_change: impl Fn(T) -> Message + 'a, +) -> Slider<'a, T, Message> +where + Message: Clone, + Renderer: iced_native::Renderer, + T: Copy + From<u8> + std::cmp::PartialOrd, +{ + Slider::new(range, value, on_change) +} + pub fn image<Handle>(handle: Handle) -> Image<Handle> { Image::new(handle) } |