summaryrefslogtreecommitdiff
path: root/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/nsf/termbox-go/_demos/paint.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/nsf/termbox-go/_demos/paint.go')
-rw-r--r--src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/nsf/termbox-go/_demos/paint.go105
1 files changed, 0 insertions, 105 deletions
diff --git a/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/nsf/termbox-go/_demos/paint.go b/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/nsf/termbox-go/_demos/paint.go
deleted file mode 100644
index fbafd18ae99..00000000000
--- a/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/nsf/termbox-go/_demos/paint.go
+++ /dev/null
@@ -1,105 +0,0 @@
-package main
-
-import (
- "github.com/nsf/termbox-go"
-)
-
-var curCol = 0
-var curRune = 0
-var backbuf []termbox.Cell
-var bbw, bbh int
-
-var runes = []rune{' ', '░', '▒', '▓', '█'}
-var colors = []termbox.Attribute{
- termbox.ColorBlack,
- termbox.ColorRed,
- termbox.ColorGreen,
- termbox.ColorYellow,
- termbox.ColorBlue,
- termbox.ColorMagenta,
- termbox.ColorCyan,
- termbox.ColorWhite,
-}
-
-type attrFunc func(int) (rune, termbox.Attribute, termbox.Attribute)
-
-func updateAndDrawButtons(current *int, x, y int, mx, my int, n int, attrf attrFunc) {
- lx, ly := x, y
- for i := 0; i < n; i++ {
- if lx <= mx && mx <= lx+3 && ly <= my && my <= ly+1 {
- *current = i
- }
- r, fg, bg := attrf(i)
- termbox.SetCell(lx+0, ly+0, r, fg, bg)
- termbox.SetCell(lx+1, ly+0, r, fg, bg)
- termbox.SetCell(lx+2, ly+0, r, fg, bg)
- termbox.SetCell(lx+3, ly+0, r, fg, bg)
- termbox.SetCell(lx+0, ly+1, r, fg, bg)
- termbox.SetCell(lx+1, ly+1, r, fg, bg)
- termbox.SetCell(lx+2, ly+1, r, fg, bg)
- termbox.SetCell(lx+3, ly+1, r, fg, bg)
- lx += 4
- }
- lx, ly = x, y
- for i := 0; i < n; i++ {
- if *current == i {
- fg := termbox.ColorRed | termbox.AttrBold
- bg := termbox.ColorDefault
- termbox.SetCell(lx+0, ly+2, '^', fg, bg)
- termbox.SetCell(lx+1, ly+2, '^', fg, bg)
- termbox.SetCell(lx+2, ly+2, '^', fg, bg)
- termbox.SetCell(lx+3, ly+2, '^', fg, bg)
- }
- lx += 4
- }
-}
-
-func update_and_redraw_all(mx, my int) {
- termbox.Clear(termbox.ColorDefault, termbox.ColorDefault)
- if mx != -1 && my != -1 {
- backbuf[bbw*my+mx] = termbox.Cell{Ch: runes[curRune], Fg: colors[curCol]}
- }
- copy(termbox.CellBuffer(), backbuf)
- _, h := termbox.Size()
- updateAndDrawButtons(&curRune, 0, 0, mx, my, len(runes), func(i int) (rune, termbox.Attribute, termbox.Attribute) {
- return runes[i], termbox.ColorDefault, termbox.ColorDefault
- })
- updateAndDrawButtons(&curCol, 0, h-3, mx, my, len(colors), func(i int) (rune, termbox.Attribute, termbox.Attribute) {
- return ' ', termbox.ColorDefault, colors[i]
- })
- termbox.Flush()
-}
-
-func reallocBackBuffer(w, h int) {
- bbw, bbh = w, h
- backbuf = make([]termbox.Cell, w*h)
-}
-
-func main() {
- err := termbox.Init()
- if err != nil {
- panic(err)
- }
- defer termbox.Close()
- termbox.SetInputMode(termbox.InputEsc | termbox.InputMouse)
- reallocBackBuffer(termbox.Size())
- update_and_redraw_all(-1, -1)
-
-mainloop:
- for {
- mx, my := -1, -1
- switch ev := termbox.PollEvent(); ev.Type {
- case termbox.EventKey:
- if ev.Key == termbox.KeyEsc {
- break mainloop
- }
- case termbox.EventMouse:
- if ev.Key == termbox.MouseLeft {
- mx, my = ev.MouseX, ev.MouseY
- }
- case termbox.EventResize:
- reallocBackBuffer(ev.Width, ev.Height)
- }
- update_and_redraw_all(mx, my)
- }
-}