sequence

package
v0.0.0-...-3c00c8e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2020 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsAutomatic

func IsAutomatic(t Time) bool

Types

type Diagram

type Diagram struct {
	Start, End Time

	Lanes    []*Lane
	Messages []*Message

	AutoSleep Time
	AutoDelay Time

	Theme struct {
		TimeScale     diagram.Length // length per time-unit
		CaptionHeight diagram.Length
		LaneWidth     diagram.Length
		LanePadding   diagram.Length

		Time    diagram.Style
		Caption diagram.Style
		Message diagram.Style
		Send    diagram.Style
	}
}

func New

func New() *Diagram

func (*Diagram) Add

func (dia *Diagram) Add(messages ...*Message)

func (*Diagram) Draw

func (dia *Diagram) Draw(canvas diagram.Canvas)

func (*Diagram) Lane

func (dia *Diagram) Lane(name string) *Lane

func (*Diagram) Size

func (dia *Diagram) Size() (width, height float64)

type Lane

type Lane struct {
	Order int
	Name  Role

	Start Time
	End   Time

	Center diagram.Length

	Caption diagram.Style
	Line    diagram.Style
}

type Message

type Message struct {
	From Role
	To   Role
	Text string

	When  Time
	Sleep Time
	Delay Time

	Caption diagram.Style
	Line    diagram.Style
	// contains filtered or unexported fields
}

func Send

func Send(from, to Role, message string) *Message

func (*Message) At

func (message *Message) At(at Time) *Message

func (*Message) Delayed

func (message *Message) Delayed(delay Time) *Message

func (*Message) End

func (message *Message) End() Time

func (*Message) EndAlign

func (message *Message) EndAlign() *Message

func (*Message) Failed

func (message *Message) Failed() *Message

func (*Message) Lined

func (message *Message) Lined(style diagram.Style) *Message

func (*Message) Sleeping

func (message *Message) Sleeping(sleep Time) *Message

func (*Message) Start

func (message *Message) Start() Time

func (*Message) StartAlign

func (message *Message) StartAlign() *Message

type Role

type Role = string

type Time

type Time = float64
var Automatic Time = math.NaN()

func Max

func Max(a, b Time) Time

func Min

func Min(a, b Time) Time

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL