/
main.go
99 lines (93 loc) · 2.76 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
// package main -- демонстрация свободного расположения линии
// Для запуска выполнить:
// go run ./example/line/main.go
package main
import (
"time"
// "github.com/nsf/termbox-go"
"github.com/nsf/termbox-go"
"github.com/prospero78/goviz/v1/line"
"github.com/prospero78/goviz/v1/lit"
"github.com/prospero78/goviz/v1/pos"
"github.com/prospero78/goviz/v1/screen"
"github.com/sirupsen/logrus"
)
func main() {
screen, err := screen.GetScreen()
if err != nil {
logrus.WithError(err).Errorln("line: in get screen")
return
}
defer screen.Close()
{ // Первая линия
_posLine := pos.NewPos(2, 2)
_posLit := pos.NewPos(2, 2)
lit0, err := lit.NewLit(screen, _posLit, termbox.ColorLightYellow, termbox.ColorBlue, "")
if err != nil {
logrus.WithError(err).Errorln("line: in create ILit")
return
}
line0, err := line.NewLine(screen, _posLine, 10, lit0)
if err != nil {
logrus.WithError(err).Errorln("line: in create TString")
return
}
line0.Redraw()
}
{ // Вторая линия
_posLine2 := pos.NewPos(2, 4)
_posLit2 := pos.NewPos(2, 8)
lit0, err := lit.NewLit(screen, _posLit2, termbox.ColorLightYellow, termbox.ColorCyan, "")
if err != nil {
logrus.WithError(err).Errorln("line: in create ILit")
return
}
line0, err := line.NewLine(screen, _posLine2, 12, lit0)
if err != nil {
logrus.WithError(err).Errorln("line: in create TString")
return
}
litBeg, err := lit.NewLit(screen, _posLit2, termbox.ColorWhite, termbox.ColorYellow, " ")
if err != nil {
logrus.WithError(err).Errorln("line: in create ILit")
return
}
litEnd, err := lit.NewLit(screen, _posLit2, termbox.ColorRed, termbox.ColorYellow, " ")
if err != nil {
logrus.WithError(err).Errorln("line: in create ILit")
return
}
line0.LitBeginSet(litBeg)
line0.LitEndSet(litEnd)
line0.Redraw()
}
{ // Третья линия
_posLine3 := pos.NewPos(2, 6)
_posLit3 := pos.NewPos(2, 8)
lit0, err := lit.NewLit(screen, _posLit3, termbox.ColorLightYellow, termbox.ColorCyan, "-")
if err != nil {
logrus.WithError(err).Errorln("line: in create ILit")
return
}
line0, err := line.NewLine(screen, _posLine3, 14, lit0)
if err != nil {
logrus.WithError(err).Errorln("line: in create TString")
return
}
litBeg, err := lit.NewLit(screen, _posLit3, termbox.ColorWhite, termbox.ColorYellow, "o")
if err != nil {
logrus.WithError(err).Errorln("line: in create ILit")
return
}
litEnd, err := lit.NewLit(screen, _posLit3, termbox.ColorRed, termbox.ColorBlue, ">")
if err != nil {
logrus.WithError(err).Errorln("line: in create ILit")
return
}
line0.LitBeginSet(litBeg)
line0.LitEndSet(litEnd)
line0.Redraw()
}
screen.Redraw()
time.Sleep(time.Second * 7)
}