summaryrefslogtreecommitdiff
path: root/src/library/image.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-05-17 22:55:31 +0200
committerLaurenz <laurmaedje@gmail.com>2021-05-17 22:55:31 +0200
commitc975d0d5e989cca6eff8e80ca8174f85eb4a3460 (patch)
tree7aaf68ee71d81a1d71d7dcb1f928659bc6fa975d /src/library/image.rs
parent24c4a746bc68874f2d1b0d1b726596930acaadcf (diff)
Tidy up layouting code
Diffstat (limited to 'src/library/image.rs')
-rw-r--r--src/library/image.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/library/image.rs b/src/library/image.rs
index a7388abb..0287eaf5 100644
--- a/src/library/image.rs
+++ b/src/library/image.rs
@@ -46,15 +46,14 @@ struct ImageNode {
impl Layout for ImageNode {
fn layout(&self, _: &mut LayoutContext, areas: &Areas) -> Vec<Frame> {
- let Areas { current, full, .. } = areas;
+ let Areas { current, base, .. } = areas;
+ let width = self.width.map(|w| w.resolve(base.width));
+ let height = self.height.map(|w| w.resolve(base.height));
let pixel_width = self.dimensions.0 as f64;
let pixel_height = self.dimensions.1 as f64;
let pixel_ratio = pixel_width / pixel_height;
- let width = self.width.map(|w| w.resolve(full.width));
- let height = self.height.map(|w| w.resolve(full.height));
-
let size = match (width, height) {
(Some(width), Some(height)) => Size::new(width, height),
(Some(width), None) => Size::new(width, width / pixel_ratio),
@@ -75,7 +74,6 @@ impl Layout for ImageNode {
let mut frame = Frame::new(size, size.height);
frame.push(Point::ZERO, Element::Image(self.id, size));
-
vec![frame]
}
}