From 974eb92159cbfa01defccaf2597eaedf38fa77d2 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Tue, 18 Jun 2024 13:51:01 +0200 Subject: [PATCH] added some styling options --- gallery/example1.pdf | Bin 14082 -> 15198 bytes gallery/example1.typ | 10 ++++++++-- src/diagram.typ | 13 +++++++++++-- src/renderer.typ | 12 ++++++++++-- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/gallery/example1.pdf b/gallery/example1.pdf index 30c3a0911709a1dae43e494c5fd8a335b146e0e4..960c8ae72248fa8297ef4ccbb6db67290d034786 100644 GIT binary patch delta 11293 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 NCjfVTwv3A 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 diff --git a/gallery/example1.typ b/gallery/example1.typ index 5ee06c8..4c9cee1 100644 --- a/gallery/example1.typ +++ b/gallery/example1.typ @@ -12,8 +12,14 @@ Alice <-- Bob: Another authentication Response #chronos.diagram({ import "/src/diagram.typ": * _seq("Alice", "Bob", comment: "Authentication Request") - _seq("Bob", "Alice", comment: "Authentication Response", style: "dashed") + _seq("Bob", "Alice", comment: "Authentication Response", dashed: true) _seq("Alice", "Bob", comment: "Another authentication Request") - _seq("Bob", "Alice", comment: "Another authentication Response", style: "dashed") + _seq("Bob", "Alice", comment: "Another authentication Response", dashed: true) +}) + +#chronos.diagram({ + import "/src/diagram.typ": * + _seq("Bob", "Alice", comment: "bonjour", color: red) + _seq("Alice", "Bob", comment: "ok", color: blue) }) \ No newline at end of file diff --git a/src/diagram.typ b/src/diagram.typ index 75d7241..d152ac2 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -1,12 +1,21 @@ #import "renderer.typ": render -#let _seq(p1, p2, comment: none, style: auto) = { +#let _seq( + p1, + p2, + comment: none, + dashed: false, + tip: "default", + color: black +) = { return (( type: "seq", p1: p1, p2: p2, comment: comment, - style: style + dashed: dashed, + tip: tip, + color: color, ),) } diff --git a/src/renderer.typ b/src/renderer.typ index 849d8ad..34192cc 100644 --- a/src/renderer.typ +++ b/src/renderer.typ @@ -1,7 +1,7 @@ #import "@preview/cetz:0.2.2": canvas, draw #let X-SPACE = 2 -#let Y-SPACE = 30 +#let Y-SPACE = 20 #let get-participants-i(participants) = { let pars-i = (:) @@ -69,10 +69,18 @@ if elmt.type == "seq" { let x1 = x-pos.at(pars-i.at(elmt.p1)) let x2 = x-pos.at(pars-i.at(elmt.p2)) + let style = ( + mark: (end: "straight"), + stroke: ( + dash: if elmt.dashed {"dashed"} else {"solid"}, + paint: elmt.color + ) + ) + draw.line( (x1, y), (x2, y), - mark: (end: "straight") + ..style ) if elmt.comment != none { draw.content(