Introduce viewport to Widget::draw
This should eventually allow us to only generate primitives that are visible.
This commit is contained in:
parent
8a3ce90959
commit
d328b07b39
31 changed files with 123 additions and 35 deletions
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue