|
|
@ -351,7 +351,7 @@ func PollEvent() Event { |
|
|
|
// terminal's window size in characters). But it doesn't always match the size
|
|
|
|
// terminal's window size in characters). But it doesn't always match the size
|
|
|
|
// of the terminal window, after the terminal size has changed, the internal
|
|
|
|
// of the terminal window, after the terminal size has changed, the internal
|
|
|
|
// back buffer will get in sync only after Clear or Flush function calls.
|
|
|
|
// back buffer will get in sync only after Clear or Flush function calls.
|
|
|
|
func Size() (int, int) { |
|
|
|
func Size() (width int, height int) { |
|
|
|
return termw, termh |
|
|
|
return termw, termh |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -380,6 +380,12 @@ func SetInputMode(mode InputMode) InputMode { |
|
|
|
if mode == InputCurrent { |
|
|
|
if mode == InputCurrent { |
|
|
|
return input_mode |
|
|
|
return input_mode |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if mode&(InputEsc|InputAlt) == 0 { |
|
|
|
|
|
|
|
mode |= InputEsc |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if mode&(InputEsc|InputAlt) == InputEsc|InputAlt { |
|
|
|
|
|
|
|
mode &^= InputAlt |
|
|
|
|
|
|
|
} |
|
|
|
if mode&InputMouse != 0 { |
|
|
|
if mode&InputMouse != 0 { |
|
|
|
out.WriteString(funcs[t_enter_mouse]) |
|
|
|
out.WriteString(funcs[t_enter_mouse]) |
|
|
|
} else { |
|
|
|
} else { |
|
|
@ -391,6 +397,7 @@ func SetInputMode(mode InputMode) InputMode { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Sets the termbox output mode. Termbox has four output options:
|
|
|
|
// Sets the termbox output mode. Termbox has four output options:
|
|
|
|
|
|
|
|
//
|
|
|
|
// 1. OutputNormal => [1..8]
|
|
|
|
// 1. OutputNormal => [1..8]
|
|
|
|
// This mode provides 8 different colors:
|
|
|
|
// This mode provides 8 different colors:
|
|
|
|
// black, red, green, yellow, blue, magenta, cyan, white
|
|
|
|
// black, red, green, yellow, blue, magenta, cyan, white
|
|
|
@ -402,10 +409,10 @@ func SetInputMode(mode InputMode) InputMode { |
|
|
|
//
|
|
|
|
//
|
|
|
|
// 2. Output256 => [1..256]
|
|
|
|
// 2. Output256 => [1..256]
|
|
|
|
// In this mode you can leverage the 256 terminal mode:
|
|
|
|
// In this mode you can leverage the 256 terminal mode:
|
|
|
|
// 0x00 - 0x07: the 8 colors as in OutputNormal
|
|
|
|
// 0x01 - 0x08: the 8 colors as in OutputNormal
|
|
|
|
// 0x08 - 0x0f: Color* | AttrBold
|
|
|
|
// 0x09 - 0x10: Color* | AttrBold
|
|
|
|
// 0x10 - 0xe7: 216 different colors
|
|
|
|
// 0x11 - 0xe8: 216 different colors
|
|
|
|
// 0xe8 - 0xff: 24 different shades of grey
|
|
|
|
// 0xe9 - 0x1ff: 24 different shades of grey
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Example usage:
|
|
|
|
// Example usage:
|
|
|
|
// SetCell(x, y, '@', 184, 240);
|
|
|
|
// SetCell(x, y, '@', 184, 240);
|
|
|
@ -415,11 +422,12 @@ func SetInputMode(mode InputMode) InputMode { |
|
|
|
// This mode supports the 3rd range of the 256 mode only.
|
|
|
|
// This mode supports the 3rd range of the 256 mode only.
|
|
|
|
// But you dont need to provide an offset.
|
|
|
|
// But you dont need to provide an offset.
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// 4. OutputGrayscale => [1..24]
|
|
|
|
// 4. OutputGrayscale => [1..26]
|
|
|
|
// This mode supports the 4th range of the 256 mode only.
|
|
|
|
// This mode supports the 4th range of the 256 mode
|
|
|
|
|
|
|
|
// and black and white colors from 3th range of the 256 mode
|
|
|
|
// But you dont need to provide an offset.
|
|
|
|
// But you dont need to provide an offset.
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// In all modes, 0 represents the default color.
|
|
|
|
// In all modes, 0x00 represents the default color.
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// `go run _demos/output.go` to see its impact on your terminal.
|
|
|
|
// `go run _demos/output.go` to see its impact on your terminal.
|
|
|
|
//
|
|
|
|
//
|
|
|
|