diff options
author | 2020-08-18 03:37:32 +0200 | |
---|---|---|
committer | 2020-10-28 06:21:07 +0100 | |
commit | d328b07b3937c968fc8139f0b5c61903ebb893e7 (patch) | |
tree | 940ae9e93006ad4fdae2d86a2f70833ee99e0b10 /native/src/user_interface.rs | |
parent | 8a3ce90959e281cd73a7486d800df8d65478a698 (diff) | |
download | iced-d328b07b3937c968fc8139f0b5c61903ebb893e7.tar.gz iced-d328b07b3937c968fc8139f0b5c61903ebb893e7.tar.bz2 iced-d328b07b3937c968fc8139f0b5c61903ebb893e7.zip |
Introduce `viewport` to `Widget::draw`
This should eventually allow us to only generate primitives that are
visible.
Diffstat (limited to 'native/src/user_interface.rs')
-rw-r--r-- | native/src/user_interface.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs index 00a290f1..59d91f42 100644 --- a/native/src/user_interface.rs +++ b/native/src/user_interface.rs @@ -1,4 +1,6 @@ -use crate::{layout, overlay, Clipboard, Element, Event, Layout, Point, Size}; +use crate::layout; +use crate::overlay; +use crate::{Clipboard, Element, Event, Layout, Point, Rectangle, Size}; use std::hash::Hasher; @@ -327,6 +329,8 @@ where renderer: &mut Renderer, cursor_position: Point, ) -> Renderer::Output { + let viewport = Rectangle::with_size(self.bounds); + let overlay = if let Some(mut overlay) = self.root.overlay(Layout::new(&self.base.layout)) { @@ -365,6 +369,7 @@ where &Renderer::Defaults::default(), Layout::new(&self.base.layout), base_cursor, + &viewport, ); renderer.overlay( @@ -378,6 +383,7 @@ where &Renderer::Defaults::default(), Layout::new(&self.base.layout), cursor_position, + &viewport, ) } } |