summaryrefslogtreecommitdiffstats
path: root/native/src/element.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2020-10-29 02:00:56 +0100
committerLibravatar GitHub <noreply@github.com>2020-10-29 02:00:56 +0100
commitb40775fb7414b44307e343921ef015c65a916dab (patch)
tree06a3fad05b14d3b0f97687bf410fa8bbc04c9526 /native/src/element.rs
parent8a3ce90959e281cd73a7486d800df8d65478a698 (diff)
parent91b1886968b498b913984bdfa4bee840e8821ec6 (diff)
downloadiced-b40775fb7414b44307e343921ef015c65a916dab.tar.gz
iced-b40775fb7414b44307e343921ef015c65a916dab.tar.bz2
iced-b40775fb7414b44307e343921ef015c65a916dab.zip
Merge pull request #584 from hecrj/improvement/viewport-aware-drawing
Viewport aware drawing
Diffstat (limited to '')
-rw-r--r--native/src/element.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/native/src/element.rs b/native/src/element.rs
index 514a135b..10e1b5fb 100644
--- a/native/src/element.rs
+++ b/native/src/element.rs
@@ -1,6 +1,7 @@
+use crate::layout;
+use crate::overlay;
use crate::{
- layout, overlay, Clipboard, Color, Event, Hasher, Layout, Length, Point,
- Widget,
+ Clipboard, Color, Event, Hasher, Layout, Length, Point, Rectangle, Widget,
};
/// A generic [`Widget`].
@@ -260,9 +261,10 @@ where
defaults: &Renderer::Defaults,
layout: Layout<'_>,
cursor_position: Point,
+ viewport: &Rectangle,
) -> Renderer::Output {
self.widget
- .draw(renderer, defaults, layout, cursor_position)
+ .draw(renderer, defaults, layout, cursor_position, viewport)
}
/// Computes the _layout_ hash of the [`Element`].
@@ -356,9 +358,10 @@ where
defaults: &Renderer::Defaults,
layout: Layout<'_>,
cursor_position: Point,
+ viewport: &Rectangle,
) -> Renderer::Output {
self.widget
- .draw(renderer, defaults, layout, cursor_position)
+ .draw(renderer, defaults, layout, cursor_position, viewport)
}
fn hash_layout(&self, state: &mut Hasher) {
@@ -437,12 +440,14 @@ where
defaults: &Renderer::Defaults,
layout: Layout<'_>,
cursor_position: Point,
+ viewport: &Rectangle,
) -> Renderer::Output {
renderer.explain(
defaults,
self.element.widget.as_ref(),
layout,
cursor_position,
+ viewport,
self.color,
)
}