diff options
author | 2019-11-10 01:55:32 +0100 | |
---|---|---|
committer | 2019-11-10 01:55:32 +0100 | |
commit | 2303111e09d806ef2a652bddc2b73be6dccf6ae2 (patch) | |
tree | ba57c5a2fe67d8a58d4f9b32c2b32fee32932f06 /native/src/widget/scrollable.rs | |
parent | 839e039dbf2fb89dcb8c141503740777d2af2eb3 (diff) | |
download | iced-2303111e09d806ef2a652bddc2b73be6dccf6ae2.tar.gz iced-2303111e09d806ef2a652bddc2b73be6dccf6ae2.tar.bz2 iced-2303111e09d806ef2a652bddc2b73be6dccf6ae2.zip |
Draft new layout API
Diffstat (limited to '')
-rw-r--r-- | native/src/widget/scrollable.rs | 31 |
1 files changed, 7 insertions, 24 deletions
diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs index de4c749c..a5eb2f01 100644 --- a/native/src/widget/scrollable.rs +++ b/native/src/widget/scrollable.rs @@ -1,7 +1,7 @@ use crate::{ column, input::{mouse, ButtonState}, - Element, Event, Hasher, Layout, Node, Point, Rectangle, Style, Widget, + layout, Element, Event, Hasher, Layout, Point, Rectangle, Widget, }; pub use iced_core::scrollable::State; @@ -19,32 +19,15 @@ impl<'a, Message, Renderer> Widget<Message, Renderer> where Renderer: self::Renderer + column::Renderer, { - fn node(&self, renderer: &Renderer) -> Node { - let mut content = self.content.node(renderer); - - { - let mut style = content.0.style(); - style.flex_shrink = 0.0; - - content.0.set_style(style); - } - - let mut style = Style::default() - .width(self.content.width) - .max_width(self.content.max_width) - .height(self.height) - .max_height(self.max_height) - .align_self(self.align_self); - - style.0.flex_direction = stretch::style::FlexDirection::Column; - - Node::with_children(style, vec![content]) + fn layout(&self, renderer: &Renderer, limits: &layout::Limits) -> Layout { + // TODO + self.content.layout(renderer, limits) } fn on_event( &mut self, event: Event, - layout: Layout<'_>, + layout: &Layout, cursor_position: Point, messages: &mut Vec<Message>, renderer: &Renderer, @@ -147,7 +130,7 @@ where fn draw( &self, renderer: &mut Renderer, - layout: Layout<'_>, + layout: &Layout, cursor_position: Point, ) -> Renderer::Output { let bounds = layout.bounds(); @@ -185,7 +168,7 @@ pub trait Renderer: crate::Renderer + Sized { &mut self, scrollable: &Scrollable<'_, Message, Self>, bounds: Rectangle, - content_layout: Layout<'_>, + content_layout: &Layout, cursor_position: Point, ) -> Self::Output; } |