From 030fd3edba3a43875c5bb96325a75e6cddaacc0d Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Wed, 31 Jul 2024 18:11:16 +0200 Subject: [PATCH] added comment alignment --- TODO.md | 1 + gallery/example1.pdf | Bin 38236 -> 38194 bytes gallery/example2.pdf | Bin 39522 -> 42282 bytes gallery/example2.typ | 61 +++++++++++++++++++++++++++++- gallery/example3.pdf | Bin 418975 -> 418978 bytes gallery/notes.pdf | Bin 92761 -> 92758 bytes src/note.typ | 2 +- src/sequence.typ | 87 ++++++++++++++++++++++++++++++++----------- 8 files changed, 128 insertions(+), 23 deletions(-) diff --git a/TODO.md b/TODO.md index 781ff9c..2df6e84 100644 --- a/TODO.md +++ b/TODO.md @@ -13,6 +13,7 @@ - [x] Synchronized arrows - [x] Slanted arrows - [x] Different types of arrow tips +- [x] Sequence comment alignment - [ ] Fix column spacing with notes over multiple columns - [ ] Fix notes with arrows from start / to end / small arrows - [ ] Fix group size with self arrows + notes diff --git a/gallery/example1.pdf b/gallery/example1.pdf index 1b079785155192e5f774fd9ee2f8ee40b2604716..df9f41a772837c9ef3e9da6672de9a2fb7adabdd 100644 GIT binary patch delta 3974 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 G)c6-`MPG9O delta 4021 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 H_0|3XHVbTg diff --git a/gallery/example2.pdf b/gallery/example2.pdf index 00341c9bfe687578267d5f5a0489b077bc25b2f7..d1d5ae5bed16dc6af1cd76daf52367bd40d05304 100644 GIT binary patch delta 22424 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 delta 19876 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�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 diff --git a/gallery/example2.typ b/gallery/example2.typ index 4993132..c078461 100644 --- a/gallery/example2.typ +++ b/gallery/example2.typ @@ -107,4 +107,63 @@ _gap() _evt("bob", "disable") -}) \ No newline at end of file +}) + +#grid(columns: 2, column-gutter: 2em, + chronos.diagram({ + import chronos: * + + _par("alice", display-name: "Alice") + _par("bob", display-name: "Bob") + _seq("alice", "bob", comment: "This is a very long comment") + + // Left to right + _seq("alice", "bob", comment: "Start aligned", comment-align: "start") + _seq("alice", "bob", comment: "End aligned", comment-align: "end") + _seq("alice", "bob", comment: "Left aligned", comment-align: "left") + _seq("alice", "bob", comment: "Right aligned", comment-align: "right") + _seq("alice", "bob", comment: "Centered", comment-align: "center") + _gap() + + // Right to left + _seq("bob", "alice", comment: "Start aligned", comment-align: "start") + _seq("bob", "alice", comment: "End aligned", comment-align: "end") + _seq("bob", "alice", comment: "Left aligned", comment-align: "left") + _seq("bob", "alice", comment: "Right aligned", comment-align: "right") + _seq("bob", "alice", comment: "Centered", comment-align: "center") + _gap() + + // Slant left to right + _seq("alice", "bob", comment: "Start aligned", comment-align: "start", slant: 10) + _seq("alice", "bob", comment: "End aligned", comment-align: "end", slant: 10) + _seq("alice", "bob", comment: "Left aligned", comment-align: "left", slant: 10) + _seq("alice", "bob", comment: "Right aligned", comment-align: "right", slant: 10) + _seq("alice", "bob", comment: "Centered", comment-align: "center", slant: 10) + _gap() + + // Slant right to left + _seq("bob", "alice", comment: "Start aligned", comment-align: "start", slant: 10) + _seq("bob", "alice", comment: "End aligned", comment-align: "end", slant: 10) + _seq("bob", "alice", comment: "Left aligned", comment-align: "left", slant: 10) + _seq("bob", "alice", comment: "Right aligned", comment-align: "right", slant: 10) + _seq("bob", "alice", comment: "Centered", comment-align: "center", slant: 10) + }), + + chronos.diagram({ + import chronos: * + + _par("alice", display-name: "Alice") + + _seq("alice", "alice", comment: "Start aligned", comment-align: "start") + _seq("alice", "alice", comment: "End aligned", comment-align: "end") + _seq("alice", "alice", comment: "Left aligned", comment-align: "left") + _seq("alice", "alice", comment: "Right aligned", comment-align: "right") + _seq("alice", "alice", comment: "Centered", comment-align: "center") + + _seq("alice", "alice", comment: "Start aligned", comment-align: "start", flip: true) + _seq("alice", "alice", comment: "End aligned", comment-align: "end", flip: true) + _seq("alice", "alice", comment: "Left aligned", comment-align: "left", flip: true) + _seq("alice", "alice", comment: "Right aligned", comment-align: "right", flip: true) + _seq("alice", "alice", comment: "Centered", comment-align: "center", flip: true) + }) +) \ No newline at end of file diff --git a/gallery/example3.pdf b/gallery/example3.pdf index b20dd931f50c75b6e3d77a3fc86ddd9cfc53cd01..60c3e2b2abe155b8f8fc45332a10d097d4119efe 100644 GIT binary patch delta 6423 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 ZQc@iB?EjU@dT$FP$CLoEuqf#${|_PDCAt6r delta 6419 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 diff --git a/gallery/notes.pdf b/gallery/notes.pdf index 9a0d0345148bf359be2a439a6881260f5dd3bb32..f90fe882ef60684fd0c5752ec740df0b02d26fe6 100644 GIT binary patch delta 7939 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 delta 7986 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", @@ -67,6 +68,7 @@ p1: p1, p2: p2, comment: comment, + comment-align: comment-align, dashed: dashed, start-tip: start-tip, end-tip: end-tip, @@ -208,6 +210,10 @@ } let pts + let comment-pt + let comment-anchor + let comment-angle = 0deg + if elmt.p1 == elmt.p2 { if elmt.flip { x1 = start-info.lx @@ -221,15 +227,6 @@ calc.max(x1, x2) + 20 } - if elmt.comment != none { - shapes += draw.content( - (x1, start-info.y), - elmt.comment, - anchor: if elmt.flip {"south-east"} else {"south-west"}, - padding: 3pt - ) - } - pts = ( (x1, start-info.y), (x-mid, start-info.y), @@ -237,24 +234,62 @@ (x2, end-info.y) ) - } else { if elmt.comment != none { - let x = calc.min(x1, x2) - if x2 < x1 { - x += COMMENT-PAD - } - shapes += draw.content( - (x, start-info.y), - elmt.comment, - anchor: "south-west", - padding: 3pt - ) + comment-anchor = ( + start: if x-mid < x1 {"south-east"} else {"south-west"}, + end: if x-mid < x1 {"south-west"} else {"south-east"}, + left: "south-west", + right: "south-east", + center: "south", + ).at(elmt.comment-align) + + comment-pt = ( + start: pts.first(), + end: pts.at(1), + left: if x-mid < x1 {pts.at(1)} else {pts.first()}, + right: if x-mid < x1 {pts.first()} else {pts.at(1)}, + center: (pts.first(), 50%, pts.at(1)) + ).at(elmt.comment-align) } + } else { pts = ( (x1, start-info.y), (x2, end-info.y) ) + + if elmt.comment != none { + let start-pt = pts.first() + let end-pt = pts.last() + if elmt.start-tip != "" { + start-pt = (pts.first(), COMMENT-PAD, pts.last()) + } + if elmt.end-tip != "" { + end-pt = (pts.last(), COMMENT-PAD, pts.first()) + } + + comment-pt = ( + start: start-pt, + end: end-pt, + left: if x2 < x1 {end-pt} else {start-pt}, + right: if x2 < x1 {start-pt} else {end-pt}, + center: (start-pt, 50%, end-pt) + ).at(elmt.comment-align) + + comment-anchor = ( + start: if x2 < x1 {"south-east"} else {"south-west"}, + end: if x2 < x1 {"south-west"} else {"south-east"}, + left: "south-west", + right: "south-east", + center: "south", + ).at(elmt.comment-align) + } + + let (p1, p2) = pts + if x2 < x1 { + (p1, p2) = (p2, p1) + } + comment-angle = vector.angle2(p1, p2) } // Start circle tip @@ -303,6 +338,16 @@ shapes += draw.line(..pts, ..style) + if elmt.comment != none { + shapes += draw.content( + comment-pt, + elmt.comment, + anchor: comment-anchor, + angle: comment-angle, + padding: 3pt + ) + } + if elmt.enable-dst { let dst-line = lifelines.at(i2) dst-line.lines.push(("enable", end-info.y, elmt.lifeline-style))