Remove redundant layout.bounds() calls in Image and Svg

This commit is contained in:
Héctor Ramón Jiménez 2022-02-16 18:09:22 +07:00
parent 83c0e0f7a8
commit 8d94cd4c5c
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
2 changed files with 10 additions and 12 deletions

View file

@ -123,9 +123,8 @@ where
let (width, height) = renderer.dimensions(&self.handle);
let image_size = Size::new(width as f32, height as f32);
let adjusted_fit =
self.content_fit.fit(image_size, layout.bounds().size());
let bounds = layout.bounds();
let adjusted_fit = self.content_fit.fit(image_size, bounds.size());
let render = |renderer: &mut Renderer| {
let offset = Vector::new(
@ -133,19 +132,19 @@ where
(bounds.height - adjusted_fit.height).max(0.0) / 2.0,
);
let bounds = Rectangle {
let drawing_bounds = Rectangle {
width: adjusted_fit.width,
height: adjusted_fit.height,
..layout.bounds()
..bounds
};
renderer.draw(self.handle.clone(), bounds + offset)
renderer.draw(self.handle.clone(), drawing_bounds + offset)
};
if adjusted_fit.width > bounds.width
|| adjusted_fit.height > bounds.height
{
renderer.with_layer(layout.bounds(), render);
renderer.with_layer(bounds, render);
} else {
render(renderer)
}

View file

@ -120,9 +120,8 @@ where
let (width, height) = renderer.dimensions(&self.handle);
let image_size = Size::new(width as f32, height as f32);
let adjusted_fit =
self.content_fit.fit(image_size, layout.bounds().size());
let bounds = layout.bounds();
let adjusted_fit = self.content_fit.fit(image_size, bounds.size());
let render = |renderer: &mut Renderer| {
let offset = Vector::new(
@ -130,19 +129,19 @@ where
(bounds.height - adjusted_fit.height).max(0.0) / 2.0,
);
let bounds = Rectangle {
let drawing_bounds = Rectangle {
width: adjusted_fit.width,
height: adjusted_fit.height,
..layout.bounds()
..bounds
};
renderer.draw(self.handle.clone(), bounds + offset)
renderer.draw(self.handle.clone(), drawing_bounds + offset)
};
if adjusted_fit.width > bounds.width
|| adjusted_fit.height > bounds.height
{
renderer.with_layer(layout.bounds(), render);
renderer.with_layer(bounds, render);
} else {
render(renderer)
}