Fix Image not respecting viewport bounds
This commit is contained in:
parent
3428a3d2af
commit
d886f39521
1 changed files with 6 additions and 2 deletions
|
|
@ -167,6 +167,7 @@ where
|
||||||
pub fn draw<Renderer, Handle>(
|
pub fn draw<Renderer, Handle>(
|
||||||
renderer: &mut Renderer,
|
renderer: &mut Renderer,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
|
viewport: &Rectangle,
|
||||||
handle: &Handle,
|
handle: &Handle,
|
||||||
content_fit: ContentFit,
|
content_fit: ContentFit,
|
||||||
filter_method: FilterMethod,
|
filter_method: FilterMethod,
|
||||||
|
|
@ -218,7 +219,9 @@ pub fn draw<Renderer, Handle>(
|
||||||
|
|
||||||
if adjusted_fit.width > bounds.width || adjusted_fit.height > bounds.height
|
if adjusted_fit.width > bounds.width || adjusted_fit.height > bounds.height
|
||||||
{
|
{
|
||||||
renderer.with_layer(bounds, render);
|
if let Some(bounds) = bounds.intersection(viewport) {
|
||||||
|
renderer.with_layer(bounds, render);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
render(renderer);
|
render(renderer);
|
||||||
}
|
}
|
||||||
|
|
@ -262,11 +265,12 @@ where
|
||||||
_style: &renderer::Style,
|
_style: &renderer::Style,
|
||||||
layout: Layout<'_>,
|
layout: Layout<'_>,
|
||||||
_cursor: mouse::Cursor,
|
_cursor: mouse::Cursor,
|
||||||
_viewport: &Rectangle,
|
viewport: &Rectangle,
|
||||||
) {
|
) {
|
||||||
draw(
|
draw(
|
||||||
renderer,
|
renderer,
|
||||||
layout,
|
layout,
|
||||||
|
viewport,
|
||||||
&self.handle,
|
&self.handle,
|
||||||
self.content_fit,
|
self.content_fit,
|
||||||
self.filter_method,
|
self.filter_method,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue