summaryrefslogtreecommitdiffstats
path: root/native/src/widget/slider.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-11-29 16:22:01 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-11-29 16:22:01 +0700
commitbbd9355450bc2df3a2c0e37cc900ba00b26255af (patch)
treea6cf758c934638e3dd9586781dfb62e1cf028572 /native/src/widget/slider.rs
parentf7792d89d64c39cdde9da030bec80fb6f461a0e3 (diff)
downloadiced-bbd9355450bc2df3a2c0e37cc900ba00b26255af.tar.gz
iced-bbd9355450bc2df3a2c0e37cc900ba00b26255af.tar.bz2
iced-bbd9355450bc2df3a2c0e37cc900ba00b26255af.zip
Introduce `Shell` type in `iced_native`
Widgets now can invalidate the current layout of the application on demand.
Diffstat (limited to 'native/src/widget/slider.rs')
-rw-r--r--native/src/widget/slider.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs
index 3ce53f6c..65632a5c 100644
--- a/native/src/widget/slider.rs
+++ b/native/src/widget/slider.rs
@@ -8,7 +8,7 @@ use crate::renderer;
use crate::touch;
use crate::{
Background, Clipboard, Color, Element, Hasher, Layout, Length, Point,
- Rectangle, Size, Widget,
+ Rectangle, Shell, Size, Widget,
};
use std::hash::Hash;
@@ -191,7 +191,7 @@ where
cursor_position: Point,
_renderer: &Renderer,
_clipboard: &mut dyn Clipboard,
- messages: &mut Vec<Message>,
+ shell: &mut Shell<'_, Message>,
) -> event::Status {
let is_dragging = self.state.is_dragging;
@@ -220,7 +220,7 @@ where
};
if (self.value.into() - new_value.into()).abs() > f64::EPSILON {
- messages.push((self.on_change)(new_value));
+ shell.publish((self.on_change)(new_value));
self.value = new_value;
}
@@ -241,7 +241,7 @@ where
| Event::Touch(touch::Event::FingerLost { .. }) => {
if is_dragging {
if let Some(on_release) = self.on_release.clone() {
- messages.push(on_release);
+ shell.publish(on_release);
}
self.state.is_dragging = false;