28 lines
594 B
Go
28 lines
594 B
Go
package view
|
|
|
|
import (
|
|
"github.com/mediocregopher/ginger/gim/geo"
|
|
"github.com/mediocregopher/ginger/gim/terminal"
|
|
)
|
|
|
|
type edge struct {
|
|
from, to *vertex
|
|
tail, head rune // if empty do directional segment char
|
|
body string
|
|
switchback bool
|
|
|
|
lineStyle terminal.LineStyle
|
|
}
|
|
|
|
type vertex struct {
|
|
coord, pos geo.XY
|
|
in, out [][]*edge // top level is port index
|
|
body string
|
|
|
|
// means it won't be drawn, and will be removed and have its in/out edges
|
|
// spliced together into a single edge.
|
|
ephemeral bool
|
|
|
|
lineStyle terminal.LineStyle // if zero value don't draw border
|
|
}
|