diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-05-17 22:55:31 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-05-17 22:55:31 +0200 |
| commit | c975d0d5e989cca6eff8e80ca8174f85eb4a3460 (patch) | |
| tree | 7aaf68ee71d81a1d71d7dcb1f928659bc6fa975d /src/library/image.rs | |
| parent | 24c4a746bc68874f2d1b0d1b726596930acaadcf (diff) | |
Tidy up layouting code
Diffstat (limited to 'src/library/image.rs')
| -rw-r--r-- | src/library/image.rs | 8 |
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] } } |
