diff options
Diffstat (limited to 'native/src/widget/slider.rs')
-rw-r--r-- | native/src/widget/slider.rs | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs index be4ed564..3a998c40 100644 --- a/native/src/widget/slider.rs +++ b/native/src/widget/slider.rs @@ -7,7 +7,7 @@ use std::hash::Hash; use crate::input::{mouse, ButtonState}; -use crate::{layout, Element, Event, Hasher, Layout, Point, Widget}; +use crate::{layout, Element, Event, Hasher, Layout, Length, Point, Widget}; pub use iced_core::slider::*; @@ -15,14 +15,22 @@ impl<'a, Message, Renderer> Widget<Message, Renderer> for Slider<'a, Message> where Renderer: self::Renderer, { - fn layout(&self, renderer: &Renderer, limits: &layout::Limits) -> Layout { + fn width(&self) -> Length { + self.width + } + + fn layout( + &self, + renderer: &Renderer, + limits: &layout::Limits, + ) -> layout::Node { renderer.layout(&self, limits) } fn on_event( &mut self, event: Event, - layout: &Layout, + layout: Layout<'_>, cursor_position: Point, messages: &mut Vec<Message>, _renderer: &Renderer, @@ -70,7 +78,7 @@ where fn draw( &self, renderer: &mut Renderer, - layout: &Layout, + layout: Layout<'_>, cursor_position: Point, ) -> Renderer::Output { renderer.draw(&self, layout, cursor_position) @@ -97,7 +105,7 @@ pub trait Renderer: crate::Renderer { &self, slider: &Slider<'_, Message>, limits: &layout::Limits, - ) -> Layout; + ) -> layout::Node; /// Draws a [`Slider`]. /// @@ -114,7 +122,7 @@ pub trait Renderer: crate::Renderer { fn draw<Message>( &mut self, slider: &Slider<'_, Message>, - layout: &Layout, + layout: Layout<'_>, cursor_position: Point, ) -> Self::Output; } |