From eb09a23fc100f82823c279bfb5d301015b742eb9 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Tue, 8 Oct 2024 11:44:53 +0200 Subject: [PATCH] added delay function --- TODO.md | 2 +- gallery/example1.pdf | Bin 40713 -> 36902 bytes gallery/example1.typ | 9 +++++++++ src/lib.typ | 2 +- src/renderer.typ | 42 ++++++++++++++++++++++++++++++++++++++++++ src/separator.typ | 8 ++++++++ 6 files changed, 61 insertions(+), 2 deletions(-) diff --git a/TODO.md b/TODO.md index 77e47f9..fa16489 100644 --- a/TODO.md +++ b/TODO.md @@ -23,6 +23,6 @@ - [ ] PlantUML parser - [ ] (Message numbering) - [ ] Mainframes -- [ ] Different types of groups (alt/loop/etc.) +- [x] Different types of groups (alt/loop/etc.) - [ ] Delays - [ ] Auto-fit in parent \ No newline at end of file diff --git a/gallery/example1.pdf b/gallery/example1.pdf index a3f8e8fad22a5090b275c713d64610f7f7fa0524..0bc4f9ccad1a090c189bcf82fea42babe83c4448 100644 GIT binary patch delta 31596 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�)6iAzVC&f`SL2Ce;VPl=By~}?Ph3&Y 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 E0I-7EPyhe` diff --git a/gallery/example1.typ b/gallery/example1.typ index 28d10de..89ee3ae 100644 --- a/gallery/example1.typ +++ b/gallery/example1.typ @@ -78,6 +78,15 @@ Alice <-- Bob: Another authentication Response _seq("Bob", "Alice", comment: "another authentication Response", dashed: true) }) +#chronos.diagram({ + import chronos: * + _seq("Alice", "Bob", comment: "Authentication Request") + _delay() + _seq("Bob", "Alice", comment: "Authentication Response") + _delay(name: "5 minutes later") + _seq("Bob", "Alice", comment: "Good Bye !") +}) + #chronos.diagram({ import chronos: * _seq("Alice", "Bob", comment: "message 1") diff --git a/src/lib.typ b/src/lib.typ index 79c8ab6..a2568fb 100644 --- a/src/lib.typ +++ b/src/lib.typ @@ -4,6 +4,6 @@ #import "sequence.typ": _seq, _ret #import "group.typ": _grp, _loop, _alt, _opt, _break #import "participant.typ": _par -#import "separator.typ": _sep +#import "separator.typ": _sep, _delay #import "note.typ": _note #import "sync.typ": _sync \ No newline at end of file diff --git a/src/renderer.typ b/src/renderer.typ index 4d9c46c..b489bbe 100644 --- a/src/renderer.typ +++ b/src/renderer.typ @@ -322,6 +322,26 @@ // Gap } else if elmt.type == "gap" { y -= elmt.size + + // Delay + } else if elmt.type == "delay" { + let y0 = y + let y1 = y - elmt.size + for (i, line) in lifelines.enumerate() { + line.lines.push(("delay-start", y0)) + line.lines.push(("delay-end", y1)) + lifelines.at(i) = line + } + if elmt.name != none { + let x0 = x-pos.first() + let x1 = x-pos.last() + shapes += draw.content( + ((x0 + x1) / 2, (y0 + y1) / 2), + anchor: "center", + elmt.name + ) + } + y = y1 // Event } else if elmt.type == "evt" { @@ -435,6 +455,28 @@ if event == "destroy" { destructions.push((x + lvl * LIFELINE-W / 2, line.at(1))) } + } else if event == "delay-start" { + draw.line( + (x, last-y), + (x, line.at(1)), + stroke: ( + dash: "dashed", + paint: gray.darken(40%), + thickness: .5pt + ) + ) + last-y = line.at(1) + } else if event == "delay-end" { + draw.line( + (x, last-y), + (x, line.at(1)), + stroke: ( + dash: "loosely-dotted", + paint: gray.darken(40%), + thickness: .8pt + ) + ) + last-y = line.at(1) } } diff --git a/src/separator.typ b/src/separator.typ index a203bc8..c041bc9 100644 --- a/src/separator.typ +++ b/src/separator.typ @@ -8,6 +8,14 @@ ),) } +#let _delay(name: none, size: 30) = { + return (( + type: "delay", + name: name, + size: size + ),) +} + #let render(x-pos, elmt, y) = { let shapes = () y -= Y-SPACE