commit 682b750f55ebb00edadf11a45574795189785651
parent 4432c14059881c8f0da83e435b46ba24be60e4e7
Author: Nihal Jere <nihal@nihaljere.xyz>
Date: Sat, 1 Oct 2022 14:30:30 -0500
take glyph extents into account when calculating staff extents
Diffstat:
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/smallpond.lua b/smallpond.lua
@@ -489,8 +489,18 @@ for _, staff in pairs(stafforder) do
extents[staff] = {xmin=0, ymin=0, xmax=0, ymax=0}
for i, d in ipairs(items) do
if d.kind == "glyph" then
- -- TODO
- local w, h = glyph_extents(glyph)
+ local w, h = glyph_extents(d.glyph)
+ if d.x - w < extents[staff].xmin then
+ extents[staff].xmin = d.x - w
+ elseif d.x + w > extents[staff].xmax then
+ extents[staff].xmax = d.x + w
+ end
+
+ if d.y - h < extents[staff].ymin then
+ extents[staff].ymin = d.y - h
+ elseif d.y + h > extents[staff].ymax then
+ extents[staff].ymax = d.y + h
+ end
elseif d.kind == "line" then
if d.x1 < extents[staff].xmin then
extents[staff].xmin = d.x1