summaryrefslogtreecommitdiffstats
path: root/native
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-10-29 02:13:22 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-10-29 02:13:22 +0100
commita3c55f75174f9bc87f80d7fe6236a71138d2fd77 (patch)
treee4e85df49a9e47f2a339437f61373d1539259f77 /native
parentbe488ac73837c9a741d900617840ee5c4ed74d61 (diff)
downloadiced-a3c55f75174f9bc87f80d7fe6236a71138d2fd77.tar.gz
iced-a3c55f75174f9bc87f80d7fe6236a71138d2fd77.tar.bz2
iced-a3c55f75174f9bc87f80d7fe6236a71138d2fd77.zip
Stop leaking impl details in scrollable `Renderer`
Diffstat (limited to 'native')
-rw-r--r--native/src/widget/scrollable.rs18
1 files changed, 14 insertions, 4 deletions
diff --git a/native/src/widget/scrollable.rs b/native/src/widget/scrollable.rs
index 95e8c74d..f9d75863 100644
--- a/native/src/widget/scrollable.rs
+++ b/native/src/widget/scrollable.rs
@@ -1,6 +1,6 @@
use crate::{
- column, input::mouse, Element, Event, Hasher, Layout, Node, Point, Style,
- Widget,
+ column, input::mouse, Element, Event, Hasher, Layout, Node, Point,
+ Rectangle, Style, Widget,
};
pub use iced_core::scrollable::State;
@@ -86,7 +86,16 @@ where
layout: Layout<'_>,
cursor_position: Point,
) -> Renderer::Output {
- self::Renderer::draw(renderer, &self, layout, cursor_position)
+ let bounds = layout.bounds();
+ let content_layout = layout.children().next().unwrap();
+
+ self::Renderer::draw(
+ renderer,
+ &self,
+ bounds,
+ content_layout,
+ cursor_position,
+ )
}
fn hash_layout(&self, state: &mut Hasher) {
@@ -98,7 +107,8 @@ pub trait Renderer: crate::Renderer + Sized {
fn draw<Message>(
&mut self,
scrollable: &Scrollable<'_, Message, Self>,
- layout: Layout<'_>,
+ bounds: Rectangle,
+ content_layout: Layout<'_>,
cursor_position: Point,
) -> Self::Output;
}