mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-17 01:42:45 +02:00
bump gocui
This commit is contained in:
35
vendor/github.com/jesseduffield/gocui/tcell_driver.go
generated
vendored
35
vendor/github.com/jesseduffield/gocui/tcell_driver.go
generated
vendored
@ -104,9 +104,18 @@ const (
|
||||
eventRaw
|
||||
)
|
||||
|
||||
const (
|
||||
NOT_DRAGGING int = iota
|
||||
MAYBE_DRAGGING
|
||||
DRAGGING
|
||||
)
|
||||
|
||||
var (
|
||||
lastMouseKey tcell.ButtonMask = tcell.ButtonNone
|
||||
lastMouseMod tcell.ModMask = tcell.ModNone
|
||||
dragState int = NOT_DRAGGING
|
||||
lastX int = 0
|
||||
lastY int = 0
|
||||
)
|
||||
|
||||
// pollEvent get tcell.Event and transform it into gocuiEvent
|
||||
@ -172,6 +181,17 @@ func pollEvent() GocuiEvent {
|
||||
if button != tcell.ButtonNone && lastMouseKey == tcell.ButtonNone {
|
||||
lastMouseKey = button
|
||||
lastMouseMod = tev.Modifiers()
|
||||
switch button {
|
||||
case tcell.ButtonPrimary:
|
||||
mouseKey = MouseLeft
|
||||
dragState = MAYBE_DRAGGING
|
||||
lastX = x
|
||||
lastY = y
|
||||
case tcell.ButtonSecondary:
|
||||
mouseKey = MouseRight
|
||||
case tcell.ButtonMiddle:
|
||||
mouseKey = MouseMiddle
|
||||
}
|
||||
}
|
||||
|
||||
switch tev.Buttons() {
|
||||
@ -179,11 +199,9 @@ func pollEvent() GocuiEvent {
|
||||
if lastMouseKey != tcell.ButtonNone {
|
||||
switch lastMouseKey {
|
||||
case tcell.ButtonPrimary:
|
||||
mouseKey = MouseLeft
|
||||
dragState = NOT_DRAGGING
|
||||
case tcell.ButtonSecondary:
|
||||
mouseKey = MouseRight
|
||||
case tcell.ButtonMiddle:
|
||||
mouseKey = MouseMiddle
|
||||
}
|
||||
mouseMod = Modifier(lastMouseMod)
|
||||
lastMouseMod = tcell.ModNone
|
||||
@ -191,6 +209,17 @@ func pollEvent() GocuiEvent {
|
||||
}
|
||||
}
|
||||
|
||||
switch dragState {
|
||||
// if we haven't released the left mouse button and we've moved the cursor then we're dragging
|
||||
case MAYBE_DRAGGING:
|
||||
if x != lastX || y != lastY {
|
||||
dragState = DRAGGING
|
||||
}
|
||||
case DRAGGING:
|
||||
mouseMod = ModMotion
|
||||
mouseKey = MouseLeft
|
||||
}
|
||||
|
||||
return GocuiEvent{
|
||||
Type: eventMouse,
|
||||
MouseX: x,
|
||||
|
Reference in New Issue
Block a user