summaryrefslogtreecommitdiffstats
path: root/pure/src/widget.rs
diff options
context:
space:
mode:
Diffstat (limited to 'pure/src/widget.rs')
-rw-r--r--pure/src/widget.rs19
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)
}