summaryrefslogtreecommitdiff
path: root/library/src/visualize
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-03-16 17:36:04 +0100
committerLaurenz <laurmaedje@gmail.com>2023-03-17 11:30:58 +0100
commite8435df5ec718e8ecc8a2ad48e4eb3ddd1f92a72 (patch)
tree58d8356ec1c615f898e342a479b5f967a8177468 /library/src/visualize
parentecb5543985cc0788d9c01e8c2e28d8ca6d8e19b6 (diff)
More jump targets
Diffstat (limited to 'library/src/visualize')
-rw-r--r--library/src/visualize/image.rs2
-rw-r--r--library/src/visualize/line.rs2
-rw-r--r--library/src/visualize/shape.rs9
3 files changed, 9 insertions, 4 deletions
diff --git a/library/src/visualize/image.rs b/library/src/visualize/image.rs
index 4509cf5a..129e07c5 100644
--- a/library/src/visualize/image.rs
+++ b/library/src/visualize/image.rs
@@ -97,7 +97,7 @@ impl Layout for ImageNode {
// the frame to the target size, center aligning the image in the
// process.
let mut frame = Frame::new(fitted);
- frame.push(Point::zero(), Element::Image(image, fitted));
+ frame.push(Point::zero(), Element::Image(image, fitted, self.span()));
frame.resize(target, Align::CENTER_HORIZON);
// Create a clipping group if only part of the image should be visible.
diff --git a/library/src/visualize/line.rs b/library/src/visualize/line.rs
index b39170f0..6614e3ee 100644
--- a/library/src/visualize/line.rs
+++ b/library/src/visualize/line.rs
@@ -76,7 +76,7 @@ impl Layout for LineNode {
let mut frame = Frame::new(target);
let shape = Geometry::Line(delta.to_point()).stroked(stroke);
- frame.push(start.to_point(), Element::Shape(shape));
+ frame.push(start.to_point(), Element::Shape(shape, self.span()));
Ok(Fragment::frame(frame))
}
}
diff --git a/library/src/visualize/shape.rs b/library/src/visualize/shape.rs
index 02b45ed5..de459949 100644
--- a/library/src/visualize/shape.rs
+++ b/library/src/visualize/shape.rs
@@ -158,6 +158,7 @@ impl Layout for RectNode {
self.inset(styles),
self.outset(styles),
self.radius(styles),
+ self.span(),
)
}
}
@@ -267,6 +268,7 @@ impl Layout for SquareNode {
self.inset(styles),
self.outset(styles),
self.radius(styles),
+ self.span(),
)
}
}
@@ -348,6 +350,7 @@ impl Layout for EllipseNode {
self.inset(styles),
self.outset(styles),
Corners::splat(Rel::zero()),
+ self.span(),
)
}
}
@@ -454,6 +457,7 @@ impl Layout for CircleNode {
self.inset(styles),
self.outset(styles),
Corners::splat(Rel::zero()),
+ self.span(),
)
}
}
@@ -471,6 +475,7 @@ fn layout(
mut inset: Sides<Rel<Abs>>,
outset: Sides<Rel<Abs>>,
radius: Corners<Rel<Abs>>,
+ span: Span,
) -> SourceResult<Fragment> {
let resolved = sizing
.zip(regions.base())
@@ -524,9 +529,9 @@ fn layout(
let size = frame.size() + outset.sum_by_axis();
let pos = Point::new(-outset.left, -outset.top);
let shape = ellipse(size, fill, stroke.left);
- frame.prepend(pos, Element::Shape(shape));
+ frame.prepend(pos, Element::Shape(shape, span));
} else {
- frame.fill_and_stroke(fill, stroke, outset, radius);
+ frame.fill_and_stroke(fill, stroke, outset, radius, span);
}
}