add go modules

This commit is contained in:
anton.gurov
2019-10-17 19:57:20 +03:00
parent 83dc2f9007
commit ed22f7a37e
24 changed files with 380 additions and 1520 deletions

34
ui/keyinput.go Normal file
View File

@ -0,0 +1,34 @@
package ui
import (
"lab.zaar.be/thefish/alchemyst-go/util"
blt "lab.zaar.be/thefish/bearlibterminal"
)
var modifiers = []int{blt.TK_SHIFT, blt.TK_ALT, blt.TK_CONTROL}
func ReadKey(ctx util.ClientCtx) (string, int) {
if !blt.HasInput() {
return "", blt.TK_NONE
}
var key = blt.Read()
var pressed = ""
var isModifier, _ = util.InArray(key, modifiers)
if !isModifier {
pressed = Scancodemap[key]
if blt.Check(blt.TK_SHIFT) != 0 {
pressed = "Shift+" + pressed
}
if blt.Check(blt.TK_ALT) != 0 {
pressed = "Alt+" + pressed
}
if blt.Check(blt.TK_CONTROL) != 0 {
pressed = "Ctrl+" + pressed
}
ctx.Logger().Debug().Msg(pressed)
}
return pressed, key
}

27
ui/mainwindow/window.go Normal file
View File

@ -0,0 +1,27 @@
package mainwindow
import (
"fmt"
"lab.zaar.be/thefish/alchemyst-go/util"
blt "lab.zaar.be/thefish/bearlibterminal"
)
func Init(ctx util.ClientCtx) {
ctx.Logger().Info().Msgf("Opening main window...")
config := ctx.Config()
blt.Open()
//blt.Set("window: size=80x25, title="+config.Title+" v"+string(version)+"; font: ./fonts/Monaco-Linux.ttf, size=10")
blt.Set(
fmt.Sprintf("window: size=%dx%d, title=%s v%s; font: ./resources/fonts-bitmap/ibmnew8x12.png, size=8x12;",
config.MainWindowSizeX,
config.MainWindowSizeY,
config.Title,
config.Version,
),
)
}
func Shutdown(ctx util.ClientCtx) {
ctx.Logger().Info().Msg("Closing main window...")
blt.Close()
}

100
ui/scancodemap.go Normal file
View File

@ -0,0 +1,100 @@
package ui
import blt "lab.zaar.be/thefish/bearlibterminal"
var Scancodemap = map[int]string{
blt.TK_A: "a",
blt.TK_B: "b",
blt.TK_C: "c",
blt.TK_D: "d",
blt.TK_E: "e",
blt.TK_F: "f",
blt.TK_G: "g",
blt.TK_H: "h",
blt.TK_I: "i",
blt.TK_J: "j",
blt.TK_K: "k",
blt.TK_L: "l",
blt.TK_M: "m",
blt.TK_N: "n",
blt.TK_O: "o",
blt.TK_P: "p",
blt.TK_Q: "q",
blt.TK_R: "r",
blt.TK_S: "s",
blt.TK_T: "t",
blt.TK_U: "u",
blt.TK_V: "v",
blt.TK_W: "w",
blt.TK_X: "x",
blt.TK_Y: "y",
blt.TK_Z: "z",
blt.TK_1: "1",
blt.TK_2: "2",
blt.TK_3: "3",
blt.TK_4: "4",
blt.TK_5: "5",
blt.TK_6: "6",
blt.TK_7: "7",
blt.TK_8: "8",
blt.TK_9: "9",
blt.TK_0: "0",
blt.TK_ENTER: "Enter",
blt.TK_ESCAPE: "Escape",
blt.TK_BACKSPACE: "Backspace",
blt.TK_TAB: "Tab",
blt.TK_SPACE: "Space",
blt.TK_MINUS: "-",
blt.TK_EQUALS: "=",
blt.TK_LBRACKET: "LBracket",
blt.TK_RBRACKET: "RBracket",
blt.TK_BACKSLASH: "\\",
blt.TK_SEMICOLON: ";",
blt.TK_APOSTROPHE: "'",
blt.TK_GRAVE: "`",
blt.TK_COMMA: ",",
blt.TK_PERIOD: ".",
blt.TK_SLASH: "/",
blt.TK_F1: "F1",
blt.TK_F2: "F2",
blt.TK_F3: "F3",
blt.TK_F4: "F4",
blt.TK_F5: "F5",
blt.TK_F6: "F6",
blt.TK_F7: "F7",
blt.TK_F8: "F8",
blt.TK_F9: "F9",
blt.TK_F10: "F10",
blt.TK_F11: "F11",
blt.TK_F12: "F12",
blt.TK_PAUSE: "Pause",
blt.TK_INSERT: "Insert",
blt.TK_HOME: "Home",
blt.TK_PAGEUP: "PageUp",
blt.TK_DELETE: "Delete",
blt.TK_END: "End",
blt.TK_PAGEDOWN: "PageDown",
blt.TK_RIGHT: "Right",
blt.TK_LEFT: "Left",
blt.TK_DOWN: "Down",
blt.TK_UP: "Up",
blt.TK_KP_DIVIDE: "KP_DIVIDE",
blt.TK_KP_MULTIPLY: "KP_MULTIPLY",
blt.TK_KP_MINUS: "KP_MINUS",
blt.TK_KP_PLUS: "KP_PLUS",
blt.TK_KP_ENTER: "KP_ENTER",
blt.TK_KP_1: "KP_1",
blt.TK_KP_2: "KP_2",
blt.TK_KP_3: "KP_3",
blt.TK_KP_4: "KP_4",
blt.TK_KP_5: "KP_5",
blt.TK_KP_6: "KP_6",
blt.TK_KP_7: "KP_7",
blt.TK_KP_8: "KP_8",
blt.TK_KP_9: "KP_9",
blt.TK_KP_0: "KP_0",
blt.TK_KP_PERIOD: "KP_PERIOD",
blt.TK_SHIFT: "SHIFT",
blt.TK_CONTROL: "CONTROL",
blt.TK_ALT: "ALT",
}