gim: draw the text of the edge
This commit is contained in:
parent
65933a004d
commit
1dc53518af
10
gim/line.go
10
gim/line.go
@ -42,6 +42,7 @@ var arrows = map[geo.XY]string{
|
|||||||
type line struct {
|
type line struct {
|
||||||
from, to *box
|
from, to *box
|
||||||
fromI, toI int
|
fromI, toI int
|
||||||
|
body string
|
||||||
}
|
}
|
||||||
|
|
||||||
// given the "primary" direction the line should be headed, picks a possible
|
// given the "primary" direction the line should be headed, picks a possible
|
||||||
@ -68,6 +69,7 @@ func (l line) draw(term *terminal.Terminal, flowDir, secFlowDir geo.XY) {
|
|||||||
return xy[1]
|
return xy[1]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// collect the points along the line into an array
|
||||||
var pts []geo.XY
|
var pts []geo.XY
|
||||||
midPrim := along(mid, flowDir)
|
midPrim := along(mid, flowDir)
|
||||||
endSec := along(end, dirSec)
|
endSec := along(end, dirSec)
|
||||||
@ -82,6 +84,7 @@ func (l line) draw(term *terminal.Terminal, flowDir, secFlowDir geo.XY) {
|
|||||||
curr = curr.Add(flowDir)
|
curr = curr.Add(flowDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// draw each point
|
||||||
for i, pt := range pts {
|
for i, pt := range pts {
|
||||||
var str string
|
var str string
|
||||||
switch {
|
switch {
|
||||||
@ -100,4 +103,11 @@ func (l line) draw(term *terminal.Terminal, flowDir, secFlowDir geo.XY) {
|
|||||||
term.MoveCursorTo(pt)
|
term.MoveCursorTo(pt)
|
||||||
term.Printf(str)
|
term.Printf(str)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// draw the body
|
||||||
|
if l.body != "" {
|
||||||
|
bodyPos := mid.Add(geo.Left.Scale(len(l.body) / 2))
|
||||||
|
term.MoveCursorTo(bodyPos)
|
||||||
|
term.Printf(l.body)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,6 +63,12 @@ func mkGraph() (*gg.Graph, gg.Value) {
|
|||||||
gg.ValueOut(b3, empty),
|
gg.ValueOut(b3, empty),
|
||||||
}, gg.NewValue("jE"))
|
}, gg.NewValue("jE"))
|
||||||
g = g.AddValueIn(jE, c)
|
g = g.AddValueIn(jE, c)
|
||||||
|
|
||||||
|
// TODO this really fucks it up
|
||||||
|
//d := gg.NewValue("d")
|
||||||
|
//deE := gg.ValueOut(d, gg.NewValue("deE"))
|
||||||
|
//g = g.AddValueIn(deE, gg.NewValue("e"))
|
||||||
|
|
||||||
return g, c
|
return g, c
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,6 +181,7 @@ func (view *view) draw(term *terminal.Terminal) {
|
|||||||
fromI: fromI,
|
fromI: fromI,
|
||||||
to: b,
|
to: b,
|
||||||
toI: i,
|
toI: i,
|
||||||
|
body: e.Value.V.(string),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user