added sequences with same endpoints

This commit is contained in:
Louis Heredero 2024-06-18 17:08:06 +02:00
parent adc50124ad
commit 0e0be4e76a
Signed by: HEL
GPG Key ID: 8D83DE470F8544E7
4 changed files with 50 additions and 17 deletions

Binary file not shown.

View File

@ -65,4 +65,10 @@ Alice <-- Bob: Another authentication Response
_gap(size: 45) _gap(size: 45)
_seq("Alice", "Bob", comment: "message 3") _seq("Alice", "Bob", comment: "message 3")
_seq("Bob", "Alice", comment: "ok", dashed: true) _seq("Bob", "Alice", comment: "ok", dashed: true)
})
#chronos.diagram({
import "/src/diagram.typ": *
_seq("Alice", "Alice", comment: "On the\nright")
_seq("Alice", "Alice", flip: true, comment: "On the\nleft")
}) })

View File

@ -7,7 +7,8 @@
comment: none, comment: none,
dashed: false, dashed: false,
tip: "default", tip: "default",
color: black color: black,
flip: false
) = { ) = {
return (( return ((
type: "seq", type: "seq",
@ -17,6 +18,7 @@
dashed: dashed, dashed: dashed,
tip: tip, tip: tip,
color: color, color: color,
flip: flip
),) ),)
} }

View File

@ -133,26 +133,51 @@
) )
) )
if elmt.comment != none { if elmt.p1 == elmt.p2 {
let x = calc.min(x1, x2) x2 = if elmt.flip {x1 - 20} else {x1 + 20}
if x2 < x1 {
x += COMMENT-PAD if elmt.comment != none {
y -= measure(box(elmt.comment)).height / 1pt + 6
draw.content(
(x1, y),
elmt.comment,
anchor: if elmt.flip {"south-east"} else {"south-west"},
padding: 3pt
)
} }
y -= measure(box(elmt.comment)).height / 1pt + 6
draw.content( draw.line(
(x, y), (x1, y),
elmt.comment, (x2, y),
anchor: "south-west", (x2, y - 10),
padding: 3pt (x1, y - 10),
..style
)
y -= 10
} else {
if elmt.comment != none {
let x = calc.min(x1, x2)
if x2 < x1 {
x += COMMENT-PAD
}
y -= measure(box(elmt.comment)).height / 1pt + 6
draw.content(
(x, y),
elmt.comment,
anchor: "south-west",
padding: 3pt
)
}
draw.line(
(x1, y),
(x2, y),
..style
) )
} }
draw.line(
(x1, y),
(x2, y),
..style
)
y -= Y-SPACE y -= Y-SPACE
} else if elmt.type == "grp" { } else if elmt.type == "grp" {
let m = measure( let m = measure(
box( box(