Merge pull request #2611 from tarkah/fix/ignore-out-of-viewport-text
Don't fill out of viewport text
This commit is contained in:
commit
d5f278b31d
2 changed files with 16 additions and 22 deletions
|
|
@ -320,24 +320,21 @@ where
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
if let Some(clipped_viewport) = layout.bounds().intersection(viewport) {
|
if let Some(clipped_viewport) = layout.bounds().intersection(viewport) {
|
||||||
|
let viewport = if self.clip {
|
||||||
|
&clipped_viewport
|
||||||
|
} else {
|
||||||
|
viewport
|
||||||
|
};
|
||||||
|
|
||||||
for ((child, state), layout) in self
|
for ((child, state), layout) in self
|
||||||
.children
|
.children
|
||||||
.iter()
|
.iter()
|
||||||
.zip(&tree.children)
|
.zip(&tree.children)
|
||||||
.zip(layout.children())
|
.zip(layout.children())
|
||||||
|
.filter(|(_, layout)| layout.bounds().intersects(viewport))
|
||||||
{
|
{
|
||||||
child.as_widget().draw(
|
child.as_widget().draw(
|
||||||
state,
|
state, renderer, theme, style, layout, cursor, viewport,
|
||||||
renderer,
|
|
||||||
theme,
|
|
||||||
style,
|
|
||||||
layout,
|
|
||||||
cursor,
|
|
||||||
if self.clip {
|
|
||||||
&clipped_viewport
|
|
||||||
} else {
|
|
||||||
viewport
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -316,24 +316,21 @@ where
|
||||||
viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
if let Some(clipped_viewport) = layout.bounds().intersection(viewport) {
|
if let Some(clipped_viewport) = layout.bounds().intersection(viewport) {
|
||||||
|
let viewport = if self.clip {
|
||||||
|
&clipped_viewport
|
||||||
|
} else {
|
||||||
|
viewport
|
||||||
|
};
|
||||||
|
|
||||||
for ((child, state), layout) in self
|
for ((child, state), layout) in self
|
||||||
.children
|
.children
|
||||||
.iter()
|
.iter()
|
||||||
.zip(&tree.children)
|
.zip(&tree.children)
|
||||||
.zip(layout.children())
|
.zip(layout.children())
|
||||||
|
.filter(|(_, layout)| layout.bounds().intersects(viewport))
|
||||||
{
|
{
|
||||||
child.as_widget().draw(
|
child.as_widget().draw(
|
||||||
state,
|
state, renderer, theme, style, layout, cursor, viewport,
|
||||||
renderer,
|
|
||||||
theme,
|
|
||||||
style,
|
|
||||||
layout,
|
|
||||||
cursor,
|
|
||||||
if self.clip {
|
|
||||||
&clipped_viewport
|
|
||||||
} else {
|
|
||||||
viewport
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue