summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVlastimil Ovčáčík <vovcacik@github.ovcacik.org>2021-10-01 16:59:02 +0200
committerJunegunn Choi <junegunn.c@gmail.com>2021-10-03 01:39:30 +0900
commitb8aa2d2c32e791c5d9dc97443f0c7e108b52a34c (patch)
tree4541950eed319bd8a59d8877615284729d608a1f /src
parent0ff885461b0474b58f08d7c3f48992a0e1eafee0 (diff)
Minor refactoring tcell library from tui.go to tcell.go
To prevent including tcell library in non-windows builds.
Diffstat (limited to 'src')
-rw-r--r--src/tui/tcell.go9
-rw-r--r--src/tui/tui.go24
2 files changed, 16 insertions, 17 deletions
diff --git a/src/tui/tcell.go b/src/tui/tcell.go
index 054c5504..82c75663 100644
--- a/src/tui/tcell.go
+++ b/src/tui/tcell.go
@@ -120,8 +120,11 @@ func (a Attr) Merge(b Attr) Attr {
return a | b
}
+// handle the following as private members of FullscreenRenderer instance
+// they are declared here to prevent introducing tcell library in non-windows builds
var (
- _screen tcell.Screen
+ _screen tcell.Screen
+ _prevMouseButton tcell.ButtonMask
)
func (r *FullscreenRenderer) initScreen() {
@@ -193,8 +196,8 @@ func (r *FullscreenRenderer) GetChar() Event {
mod := ev.Modifiers() != 0
// since we dont have mouse down events (unlike LightRenderer), we need to track state in prevButton
- prevButton, button := r.prevMouseButton, ev.Buttons()
- r.prevMouseButton = button
+ prevButton, button := _prevMouseButton, ev.Buttons()
+ _prevMouseButton = button
drag := prevButton == button
switch {
diff --git a/src/tui/tui.go b/src/tui/tui.go
index 12359c62..eb09da40 100644
--- a/src/tui/tui.go
+++ b/src/tui/tui.go
@@ -5,8 +5,6 @@ import (
"os"
"strconv"
"time"
-
- "github.com/gdamore/tcell"
)
// Types of user action
@@ -399,22 +397,20 @@ type Window interface {
}
type FullscreenRenderer struct {
- theme *ColorTheme
- mouse bool
- forceBlack bool
- prevDownTime time.Time
- prevMouseButton tcell.ButtonMask
- clickY []int
+ theme *ColorTheme
+ mouse bool
+ forceBlack bool
+ prevDownTime time.Time
+ clickY []int
}
func NewFullscreenRenderer(theme *ColorTheme, forceBlack bool, mouse bool) Renderer {
r := &FullscreenRenderer{
- theme: theme,
- mouse: mouse,
- forceBlack: forceBlack,
- prevDownTime: time.Unix(0, 0),
- prevMouseButton: tcell.ButtonNone,
- clickY: []int{}}
+ theme: theme,
+ mouse: mouse,
+ forceBlack: forceBlack,
+ prevDownTime: time.Unix(0, 0),
+ clickY: []int{}}
return r
}