summaryrefslogtreecommitdiff
path: root/src/library/image.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-04-23 17:46:14 +0200
committerLaurenz <laurmaedje@gmail.com>2021-04-23 17:46:14 +0200
commit6292d25afb3080f606844d7e03fec5c80f0140ff (patch)
tree8d2495edccaa6bdaaa4d012be18df15788c640d0 /src/library/image.rs
parent72478946c261f04754c11f8a6abf6eb0f43dea31 (diff)
Reengineer font and resource loading 🏞
Diffstat (limited to 'src/library/image.rs')
-rw-r--r--src/library/image.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/library/image.rs b/src/library/image.rs
index 09b56336..134590bb 100644
--- a/src/library/image.rs
+++ b/src/library/image.rs
@@ -20,10 +20,11 @@ pub fn image(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value {
Value::template("image", move |ctx| {
if let Some(path) = &path {
- let loaded = ctx.env.resources.load(&path.v, ImageResource::parse);
- if let Some((res, img)) = loaded {
+ let loaded = ctx.env.load_resource(&path.v, ImageResource::parse);
+ if let Some(id) = loaded {
+ let img = ctx.env.resource::<ImageResource>(id);
let dimensions = img.buf.dimensions();
- ctx.push(ImageNode { res, dimensions, width, height });
+ ctx.push(ImageNode { id, dimensions, width, height });
} else {
ctx.diag(error!(path.span, "failed to load image"));
}
@@ -35,7 +36,7 @@ pub fn image(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value {
#[derive(Debug, Clone, PartialEq)]
struct ImageNode {
/// The resource id of the image file.
- res: ResourceId,
+ id: ResourceId,
/// The pixel dimensions of the image.
dimensions: (u32, u32),
/// The fixed width, if any.
@@ -74,7 +75,7 @@ impl Layout for ImageNode {
};
let mut frame = Frame::new(size, size.height);
- frame.push(Point::ZERO, Element::Image(Image { res: self.res, size }));
+ frame.push(Point::ZERO, Element::Image(Image { id: self.id, size }));
vec![frame]
}