summaryrefslogtreecommitdiff
path: root/library/src/math/frac.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-03-12 12:53:50 +0100
committerLaurenz <laurmaedje@gmail.com>2023-03-12 13:20:36 +0100
commitad05ba59256a67f429b71a8aba2cd92ed2cafac7 (patch)
tree019ccf26f7308d907c042624ccbb647f76d3491b /library/src/math/frac.rs
parent2720a44b965d29e9c3453c732e38554fdb6413bb (diff)
Spans in math
Diffstat (limited to 'library/src/math/frac.rs')
-rw-r--r--library/src/math/frac.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/library/src/math/frac.rs b/library/src/math/frac.rs
index 0624832a..f670159d 100644
--- a/library/src/math/frac.rs
+++ b/library/src/math/frac.rs
@@ -32,7 +32,7 @@ pub struct FracNode {
impl LayoutMath for FracNode {
fn layout_math(&self, ctx: &mut MathContext) -> SourceResult<()> {
- layout(ctx, &self.num(), &self.denom(), false)
+ layout(ctx, &self.num(), &self.denom(), false, self.span())
}
}
@@ -58,7 +58,7 @@ pub struct BinomNode {
impl LayoutMath for BinomNode {
fn layout_math(&self, ctx: &mut MathContext) -> SourceResult<()> {
- layout(ctx, &self.upper(), &self.lower(), true)
+ layout(ctx, &self.upper(), &self.lower(), true, self.span())
}
}
@@ -68,6 +68,7 @@ fn layout(
num: &Content,
denom: &Content,
binom: bool,
+ span: Span,
) -> SourceResult<()> {
let short_fall = DELIM_SHORT_FALL.scaled(ctx);
let axis = scaled!(ctx, axis_height);
@@ -121,9 +122,13 @@ fn layout(
frame.push_frame(denom_pos, denom);
if binom {
- ctx.push(GlyphFragment::new(ctx, '(').stretch_vertical(ctx, height, short_fall));
+ ctx.push(
+ GlyphFragment::new(ctx, '(', span).stretch_vertical(ctx, height, short_fall),
+ );
ctx.push(FrameFragment::new(ctx, frame));
- ctx.push(GlyphFragment::new(ctx, ')').stretch_vertical(ctx, height, short_fall));
+ ctx.push(
+ GlyphFragment::new(ctx, ')', span).stretch_vertical(ctx, height, short_fall),
+ );
} else {
frame.push(
line_pos,