forked from HEL/chronos
		
	grouped some elmt defs in misc.typ
This commit is contained in:
		@@ -3,41 +3,6 @@
 | 
				
			|||||||
#import "core/setup.typ": setup
 | 
					#import "core/setup.typ": setup
 | 
				
			||||||
#import "core/utils.typ": fit-canvas, set-ctx
 | 
					#import "core/utils.typ": fit-canvas, set-ctx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#let gap-render(gap) = set-ctx(ctx => {
 | 
					 | 
				
			||||||
  ctx.y -= gap.size
 | 
					 | 
				
			||||||
  return ctx
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#let _gap(size: 20) = {
 | 
					 | 
				
			||||||
  return ((
 | 
					 | 
				
			||||||
    type: "gap",
 | 
					 | 
				
			||||||
    draw: gap-render,
 | 
					 | 
				
			||||||
    size: size
 | 
					 | 
				
			||||||
  ),)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#let _evt(participant, event) = {
 | 
					 | 
				
			||||||
  return ((
 | 
					 | 
				
			||||||
    type: "evt",
 | 
					 | 
				
			||||||
    draw: evt-render,
 | 
					 | 
				
			||||||
    participant: participant,
 | 
					 | 
				
			||||||
    event: event,
 | 
					 | 
				
			||||||
    lifeline-style: auto
 | 
					 | 
				
			||||||
  ),)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#let _col(p1, p2, width: auto, margin: 0, min-width: 0, max-width: none) = {
 | 
					 | 
				
			||||||
  return ((
 | 
					 | 
				
			||||||
    type: "col",
 | 
					 | 
				
			||||||
    p1: p1,
 | 
					 | 
				
			||||||
    p2: p2,
 | 
					 | 
				
			||||||
    width: width,
 | 
					 | 
				
			||||||
    margin: margin,
 | 
					 | 
				
			||||||
    min-width: min-width,
 | 
					 | 
				
			||||||
    max-width: max-width
 | 
					 | 
				
			||||||
  ),)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#let diagram(elements, width: auto) = {
 | 
					#let diagram(elements, width: auto) = {
 | 
				
			||||||
  if elements == none {
 | 
					  if elements == none {
 | 
				
			||||||
    return
 | 
					    return
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,8 @@
 | 
				
			|||||||
#let version = version(0, 2, 2)
 | 
					#let version = version(0, 2, 2)
 | 
				
			||||||
#import "diagram.typ": diagram, from-plantuml, _gap, _evt, _col
 | 
					#import "diagram.typ": diagram, from-plantuml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#import "sequence.typ": _seq, _ret
 | 
					#import "sequence.typ": _seq, _ret
 | 
				
			||||||
#import "group.typ": _grp, _loop, _alt, _opt, _break
 | 
					#import "group.typ": _grp, _loop, _alt, _opt, _break
 | 
				
			||||||
#import "participant.typ": _par
 | 
					#import "participant.typ": _par
 | 
				
			||||||
#import "separator.typ": _sep, _delay
 | 
					#import "misc.typ": _sep, _delay, _sync, _gap, _evt, _col
 | 
				
			||||||
#import "note.typ": _note
 | 
					#import "note.typ": _note
 | 
				
			||||||
#import "sync.typ": _sync
 | 
					 | 
				
			||||||
							
								
								
									
										63
									
								
								src/misc.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								src/misc.typ
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
				
			|||||||
 | 
					#import "core/draw/delay.typ"
 | 
				
			||||||
 | 
					#import "core/draw/separator.typ"
 | 
				
			||||||
 | 
					#import "core/draw/sync.typ"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#let _sep(name) = {
 | 
				
			||||||
 | 
					  return ((
 | 
				
			||||||
 | 
					    type: "sep",
 | 
				
			||||||
 | 
					    draw: separator.render,
 | 
				
			||||||
 | 
					    name: name
 | 
				
			||||||
 | 
					  ),)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#let _delay(name: none, size: 30) = {
 | 
				
			||||||
 | 
					  return ((
 | 
				
			||||||
 | 
					    type: "delay",
 | 
				
			||||||
 | 
					    draw: delay.render,
 | 
				
			||||||
 | 
					    name: name,
 | 
				
			||||||
 | 
					    size: size
 | 
				
			||||||
 | 
					  ),)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#let _sync(elmts) = {
 | 
				
			||||||
 | 
					  return ((
 | 
				
			||||||
 | 
					    type: "sync",
 | 
				
			||||||
 | 
					    draw: sync.render,
 | 
				
			||||||
 | 
					    elmts: elmts
 | 
				
			||||||
 | 
					  ),)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#let gap-render(gap) = set-ctx(ctx => {
 | 
				
			||||||
 | 
					  ctx.y -= gap.size
 | 
				
			||||||
 | 
					  return ctx
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#let _gap(size: 20) = {
 | 
				
			||||||
 | 
					  return ((
 | 
				
			||||||
 | 
					    type: "gap",
 | 
				
			||||||
 | 
					    draw: gap-render,
 | 
				
			||||||
 | 
					    size: size
 | 
				
			||||||
 | 
					  ),)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#let _evt(participant, event) = {
 | 
				
			||||||
 | 
					  return ((
 | 
				
			||||||
 | 
					    type: "evt",
 | 
				
			||||||
 | 
					    draw: evt-render,
 | 
				
			||||||
 | 
					    participant: participant,
 | 
				
			||||||
 | 
					    event: event,
 | 
				
			||||||
 | 
					    lifeline-style: auto
 | 
				
			||||||
 | 
					  ),)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#let _col(p1, p2, width: auto, margin: 0, min-width: 0, max-width: none) = {
 | 
				
			||||||
 | 
					  return ((
 | 
				
			||||||
 | 
					    type: "col",
 | 
				
			||||||
 | 
					    p1: p1,
 | 
				
			||||||
 | 
					    p2: p2,
 | 
				
			||||||
 | 
					    width: width,
 | 
				
			||||||
 | 
					    margin: margin,
 | 
				
			||||||
 | 
					    min-width: min-width,
 | 
				
			||||||
 | 
					    max-width: max-width
 | 
				
			||||||
 | 
					  ),)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
#import "core/draw/participant.typ"
 | 
					#import "core/draw/participant.typ"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#let PAR-SPECIALS = "?[]"
 | 
					#let PAR-SPECIALS = ("?", "[", "]")
 | 
				
			||||||
#let SHAPES = (
 | 
					#let SHAPES = (
 | 
				
			||||||
  "participant",
 | 
					  "participant",
 | 
				
			||||||
  "actor",
 | 
					  "actor",
 | 
				
			||||||
@@ -50,7 +50,7 @@
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#let _exists(participants, name) = {
 | 
					#let _exists(participants, name) = {
 | 
				
			||||||
  if name == "?" or name == "[" or name == "]" {
 | 
					  if name in PAR-SPECIALS {
 | 
				
			||||||
    return true
 | 
					    return true
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,19 +0,0 @@
 | 
				
			|||||||
#import "core/draw/delay.typ"
 | 
					 | 
				
			||||||
#import "core/draw/separator.typ"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#let _sep(name) = {
 | 
					 | 
				
			||||||
  return ((
 | 
					 | 
				
			||||||
    type: "sep",
 | 
					 | 
				
			||||||
    draw: separator.render,
 | 
					 | 
				
			||||||
    name: name
 | 
					 | 
				
			||||||
  ),)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#let _delay(name: none, size: 30) = {
 | 
					 | 
				
			||||||
  return ((
 | 
					 | 
				
			||||||
    type: "delay",
 | 
					 | 
				
			||||||
    draw: delay.render,
 | 
					 | 
				
			||||||
    name: name,
 | 
					 | 
				
			||||||
    size: size
 | 
					 | 
				
			||||||
  ),)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
#import "core/draw/sync.typ"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#let _sync(elmts) = {
 | 
					 | 
				
			||||||
  return ((
 | 
					 | 
				
			||||||
    type: "sync",
 | 
					 | 
				
			||||||
    draw: sync.render,
 | 
					 | 
				
			||||||
    elmts: elmts
 | 
					 | 
				
			||||||
  ),)
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user