From 0968436c8aa569d5606890edb56290087e67e813 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Tue, 30 Jul 2024 12:18:57 +0200 Subject: [PATCH] implemented create event + create offset --- gallery/notes.pdf | Bin 91729 -> 92761 bytes gallery/notes.typ | 9 ++++++++- src/diagram.typ | 10 ++++++++++ src/renderer.typ | 1 + 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/gallery/notes.pdf b/gallery/notes.pdf index bd8fc9332bb4fb0470894eff544647951fe40b77..9a0d0345148bf359be2a439a6881260f5dd3bb32 100644 GIT binary patch delta 16772 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�=TF{W-Mk$MN9-m+e+UZUPq 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 diff --git a/gallery/notes.typ b/gallery/notes.typ index 7e4ba7e..f7fc8da 100644 --- a/gallery/notes.typ +++ b/gallery/notes.typ @@ -135,4 +135,11 @@ _seq("[", "a", comment: [Test]) _note("left", [This is also a note]) -})*/ \ No newline at end of file +})*/ + +#pagebreak() + +#chronos.diagram({ + _seq("Bob", "Alice", comment: [Hello]) + _evt("Other", "create") +}) \ No newline at end of file diff --git a/src/diagram.typ b/src/diagram.typ index 03c41b8..d34b4d6 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -123,6 +123,16 @@ elmt: elmt, i: i ) + } else if elmt.type == "evt" { + let par = elmt.participant + if not participant._exists(participants, par) { + let p = _par(par, from-start: elmt.event != "create").first() + participants.push(p) + + } else if elmt.event == "create" { + let i = participants.position(p => p.name == par) + participants.at(i).from-start = false + } } } linked = linked.dedup() diff --git a/src/renderer.typ b/src/renderer.typ index 777aa0f..a4ed4bd 100644 --- a/src/renderer.typ +++ b/src/renderer.typ @@ -279,6 +279,7 @@ line.lines.push(("enable", y, elmt.lifeline-style)) } else if elmt.event == "create" { + y -= CREATE-OFFSET shapes += participant.render(x-pos, par, y: y) line.lines.push(("create", y)) }