forked from HEL/chronos
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Typst
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Typst
		
	
	
	
	
	
| /// Manually adds an event to the given participant
 | |
| /// - participant (str): The participant concerned by the event
 | |
| /// - event (str): The event type (see @@EVENTS for ccepted values)
 | |
| #let _evt(participant, event) = {}
 | |
| 
 | |
| /// Creates a sequence / message between two participants
 | |
| /// - p1 (str): Start participant
 | |
| /// - p2 (str): End participant
 | |
| /// - comment (none, content): Optional comment to display along the arrow
 | |
| /// - comment-align (str): Where to align the comment with respect to the arrow (see @@comment-align for accepted values)
 | |
| /// - dashed (bool): Whether the arrow's stroke is dashed or not
 | |
| /// - start-tip (str): Start arrow tip (see @@tips for accepted values)
 | |
| /// - end-tip (str): End arrow tip (see @@tips for accepted values)
 | |
| /// - color (color): Arrow's color
 | |
| /// - flip (bool): If true, the arrow is flipped (goes from end to start). This is particularly useful for self calls, to change the side on which the arrow appears
 | |
| /// - enable-dst (bool): If true, enables the destination lifeline
 | |
| /// - create-dst (bool): If true, creates the destination lifeline and participant
 | |
| /// - disable-dst (bool): If true, disables the destination lifeline
 | |
| /// - destroy-dst (bool): If true, destroys the destination lifeline and participant
 | |
| /// - disable-src (bool): If true, disables the source lifeline
 | |
| /// - destroy-src (bool): If true, destroy the source lifeline and participant
 | |
| /// - lifeline-style (auto, dict): Optional styling options for lifeline rectangles (see CeTZ documentation for more information on all possible values)
 | |
| /// - slant (none, int): Optional slant of the arrow
 | |
| /// -> array
 | |
| #let _seq(
 | |
|   p1,
 | |
|   p2,
 | |
|   comment: none,
 | |
|   comment-align: "left",
 | |
|   dashed: false,
 | |
|   start-tip: "",
 | |
|   end-tip: ">",
 | |
|   color: black,
 | |
|   flip: false,
 | |
|   enable-dst: false,
 | |
|   create-dst: false,
 | |
|   disable-dst: false,
 | |
|   destroy-dst: false,
 | |
|   disable-src: false,
 | |
|   destroy-src: false,
 | |
|   lifeline-style: auto,
 | |
|   slant: none
 | |
| ) = {}
 | |
| 
 | |
| /// Creates a return sequence
 | |
| /// #examples.seq-return
 | |
| /// - comment (none, content): Optional comment to display along the arrow
 | |
| #let _ret(comment: none) = {}
 | |
| 
 | |
| /// Accepted values for `comment-align` argument of @@_seq()
 | |
| /// #examples.seq-comm-align
 | |
| #let comment-align = (
 | |
|   "start", "end", "left", "center", "right"
 | |
| )
 | |
| 
 | |
| /// Accepted values for `event` argument of @@_evt()
 | |
| /// 
 | |
| /// `EVENTS = ("create", "destroy", "enable", "disable")`
 | |
| #let EVENTS = ("create", "destroy", "enable", "disable")
 | |
| 
 | |
| /// Accepted values for `start-tip` and `end-tip` arguments of @@_seq()
 | |
| /// #examples.seq-tips
 | |
| #let tips = (
 | |
|   "", ">", ">>", "\\", "\\\\", "/", "//", "x", "o",
 | |
| ) |