summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--native/src/widget/scrollable.rs18
-rw-r--r--wgpu/src/renderer/scrollable.rs6
2 files changed, 16 insertions, 8 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;
}
diff --git a/wgpu/src/renderer/scrollable.rs b/wgpu/src/renderer/scrollable.rs
index 43dddeed..1327e577 100644
--- a/wgpu/src/renderer/scrollable.rs
+++ b/wgpu/src/renderer/scrollable.rs
@@ -7,13 +7,11 @@ impl scrollable::Renderer for Renderer {
fn draw<Message>(
&mut self,
scrollable: &Scrollable<'_, Message, Self>,
- layout: Layout<'_>,
+ bounds: Rectangle,
+ content: Layout<'_>,
cursor_position: Point,
) -> Self::Output {
- let bounds = layout.bounds();
let is_mouse_over = bounds.contains(cursor_position);
-
- let content = layout.children().next().unwrap();
let content_bounds = content.bounds();
let offset = scrollable.state.offset(bounds, content_bounds);