summaryrefslogtreecommitdiff
path: root/src/frame.rs
diff options
context:
space:
mode:
authorMartin Haug <mhaug@live.de>2022-02-03 15:21:12 +0100
committerMartin Haug <mhaug@live.de>2022-02-04 00:30:23 +0100
commit9a9c6f22c49b4b28f0945aef4f1f620f74b9e605 (patch)
tree784b6b3b40dfd93284ad52faa5e6818171b4ddfb /src/frame.rs
parentbd0d0e10d8ce2246aa1a6fd9a801707cc63dc9a6 (diff)
Add evasion of glyph shape for under- and overlines
Diffstat (limited to 'src/frame.rs')
-rw-r--r--src/frame.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/frame.rs b/src/frame.rs
index f714fbbe..9954d132 100644
--- a/src/frame.rs
+++ b/src/frame.rs
@@ -42,6 +42,18 @@ impl Frame {
self.elements.push((pos, element));
}
+ /// The layer the next item will be added on. This corresponds to the number
+ /// of elements in the frame.
+ pub fn layer(&self) -> usize {
+ self.elements.len()
+ }
+
+ /// Insert an element at the given layer in the Frame. This method panics if
+ /// the layer is greater than the number of layers present.
+ pub fn insert(&mut self, layer: usize, pos: Point, element: Element) {
+ self.elements.insert(layer, (pos, element));
+ }
+
/// Add a group element.
pub fn push_frame(&mut self, pos: Point, frame: Arc<Self>) {
self.elements.push((pos, Element::Group(Group::new(frame))));