diff options
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) } |