Minor refactoring tcell library from tui.go to tcell.go

To prevent including tcell library in non-windows builds.
This commit is contained in:
Vlastimil Ovčáčík 2021-10-01 16:59:02 +02:00 committed by Junegunn Choi
parent 0ff885461b
commit b8aa2d2c32
2 changed files with 16 additions and 17 deletions

View File

@ -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 {

View File

@ -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
}