summaryrefslogtreecommitdiff
path: root/src/eval
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-02-23 16:46:44 +0100
committerLaurenz <laurmaedje@gmail.com>2022-02-23 17:17:00 +0100
commitf2f473a81fde9c09e0f361f1b85fb5c14337f360 (patch)
tree8a21d0f6f2d8940ee028d3d1175da05ffbf984e3 /src/eval
parente1f29d6cb9437a4afb2e4fc4ee10a5b8717ab9fa (diff)
Query cache
Diffstat (limited to 'src/eval')
-rw-r--r--src/eval/layout.rs6
-rw-r--r--src/eval/show.rs5
2 files changed, 8 insertions, 3 deletions
diff --git a/src/eval/layout.rs b/src/eval/layout.rs
index 1090aafc..38ad3977 100644
--- a/src/eval/layout.rs
+++ b/src/eval/layout.rs
@@ -221,8 +221,10 @@ impl Layout for LayoutNode {
regions: &Regions,
styles: StyleChain,
) -> TypResult<Vec<Arc<Frame>>> {
- // TODO(query)
- self.0.layout(ctx, regions, styles.barred(self.id()))
+ ctx.query((self, regions, styles), |ctx, (node, regions, styles)| {
+ node.0.layout(ctx, regions, styles.barred(node.id()))
+ })
+ .clone()
}
fn pack(self) -> LayoutNode {
diff --git a/src/eval/show.rs b/src/eval/show.rs
index b0fb8172..a85c70e2 100644
--- a/src/eval/show.rs
+++ b/src/eval/show.rs
@@ -43,7 +43,10 @@ impl ShowNode {
impl Show for ShowNode {
fn show(&self, ctx: &mut Context, styles: StyleChain) -> TypResult<Template> {
- self.0.show(ctx, styles)
+ ctx.query((self, styles), |ctx, (node, styles)| {
+ node.0.show(ctx, styles)
+ })
+ .clone()
}
fn pack(self) -> ShowNode {