Compare commits

...

1 Commits
main ... dev

Author SHA1 Message Date
e1e561bb6c
fixed y-alignment for north/south ports 2024-11-09 23:03:03 +01:00

View File

@ -88,16 +88,27 @@
if to-side in ports-margins { if to-side in ports-margins {
margins = ports-margins.at(to-side) margins = ports-margins.at(to-side)
} }
let dy
let top-margin
if to-side in ("east", "west") {
let used-pct = 100% - margins.at(0) - margins.at(1) let used-pct = 100% - margins.at(0) - margins.at(1)
let used-height = height * used-pct / 100% let used-height = height * used-pct / 100%
let top-margin = height * margins.at(0) / 100% top-margin = height * margins.at(0) / 100%
let dy = used-height * (i + 1) / (ports.at(to-side).len() + 1) dy = used-height * (i + 1) / (ports.at(to-side).len() + 1)
if not auto-ports { if not auto-ports {
top-margin = 0 top-margin = 0
dy = ports-y.at(to)(height) dy = ports-y.at(to)(height)
} }
} else if to-side == "north" {
dy = 0
top-margin = 0
} else if to-side == "south" {
dy = height
top-margin = 0
}
let (ctx, from-pos) = coordinate.resolve(ctx, from) let (ctx, from-pos) = coordinate.resolve(ctx, from)
y = from-pos.at(1) + dy - height + top-margin y = from-pos.at(1) + dy - height + top-margin