diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-02-23 16:46:44 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-02-23 17:17:00 +0100 |
| commit | f2f473a81fde9c09e0f361f1b85fb5c14337f360 (patch) | |
| tree | 8a21d0f6f2d8940ee028d3d1175da05ffbf984e3 /src/eval | |
| parent | e1f29d6cb9437a4afb2e4fc4ee10a5b8717ab9fa (diff) | |
Query cache
Diffstat (limited to 'src/eval')
| -rw-r--r-- | src/eval/layout.rs | 6 | ||||
| -rw-r--r-- | src/eval/show.rs | 5 |
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 { |
