summaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
authorSimon Whitaker <sw@netcetera.org>2023-08-06 14:55:14 +0100
committerSimon Whitaker <sw@netcetera.org>2023-08-07 15:10:28 +0100
commited1547e0cb60d9234fe901f8b3330fbae2e1fd87 (patch)
treee6e9a7459d817609cd10222b64e70fa61f837c32 /vendor
parent579791e7bc8261e9ed578f882f4b8b11a486bf78 (diff)
Add a Click() primitive to the integration test library
Diffstat (limited to 'vendor')
-rw-r--r--vendor/github.com/jesseduffield/gocui/gui.go10
-rw-r--r--vendor/github.com/jesseduffield/gocui/tcell_driver.go25
-rw-r--r--vendor/modules.txt2
3 files changed, 32 insertions, 5 deletions
diff --git a/vendor/github.com/jesseduffield/gocui/gui.go b/vendor/github.com/jesseduffield/gocui/gui.go
index fa2019a28..89015e67b 100644
--- a/vendor/github.com/jesseduffield/gocui/gui.go
+++ b/vendor/github.com/jesseduffield/gocui/gui.go
@@ -103,8 +103,9 @@ type GuiMutexes struct {
}
type replayedEvents struct {
- Keys chan *TcellKeyEventWrapper
- Resizes chan *TcellResizeEventWrapper
+ Keys chan *TcellKeyEventWrapper
+ Resizes chan *TcellResizeEventWrapper
+ MouseEvents chan *TcellMouseEventWrapper
}
type RecordingConfig struct {
@@ -225,8 +226,9 @@ func NewGui(opts NewGuiOpts) (*Gui, error) {
if opts.PlayRecording {
g.ReplayedEvents = replayedEvents{
- Keys: make(chan *TcellKeyEventWrapper),
- Resizes: make(chan *TcellResizeEventWrapper),
+ Keys: make(chan *TcellKeyEventWrapper),
+ Resizes: make(chan *TcellResizeEventWrapper),
+ MouseEvents: make(chan *TcellMouseEventWrapper),
}
}
diff --git a/vendor/github.com/jesseduffield/gocui/tcell_driver.go b/vendor/github.com/jesseduffield/gocui/tcell_driver.go
index ab3f610f6..edd5509ec 100644
--- a/vendor/github.com/jesseduffield/gocui/tcell_driver.go
+++ b/vendor/github.com/jesseduffield/gocui/tcell_driver.go
@@ -217,6 +217,29 @@ func (wrapper TcellKeyEventWrapper) toTcellEvent() tcell.Event {
return tcell.NewEventKey(wrapper.Key, wrapper.Ch, wrapper.Mod)
}
+type TcellMouseEventWrapper struct {
+ Timestamp int64
+ X int
+ Y int
+ ButtonMask tcell.ButtonMask
+ ModMask tcell.ModMask
+}
+
+func NewTcellMouseEventWrapper(event *tcell.EventMouse, timestamp int64) *TcellMouseEventWrapper {
+ x, y := event.Position()
+ return &TcellMouseEventWrapper{
+ Timestamp: timestamp,
+ X: x,
+ Y: y,
+ ButtonMask: event.Buttons(),
+ ModMask: event.Modifiers(),
+ }
+}
+
+func (wrapper TcellMouseEventWrapper) toTcellEvent() tcell.Event {
+ return tcell.NewEventMouse(wrapper.X, wrapper.Y, wrapper.ButtonMask, wrapper.ModMask)
+}
+
type TcellResizeEventWrapper struct {
Timestamp int64
Width int
@@ -246,6 +269,8 @@ func (g *Gui) pollEvent() GocuiEvent {
tev = (ev).toTcellEvent()
case ev := <-g.ReplayedEvents.Resizes:
tev = (ev).toTcellEvent()
+ case ev := <-g.ReplayedEvents.MouseEvents:
+ tev = (ev).toTcellEvent()
}
} else {
tev = Screen.PollEvent()
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 45f6eafa9..9561f09eb 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -124,7 +124,7 @@ github.com/jesseduffield/go-git/v5/utils/merkletrie/filesystem
github.com/jesseduffield/go-git/v5/utils/merkletrie/index
github.com/jesseduffield/go-git/v5/utils/merkletrie/internal/frame
github.com/jesseduffield/go-git/v5/utils/merkletrie/noder
-# github.com/jesseduffield/gocui v0.3.1-0.20230806095321-ac7b03108825
+# github.com/jesseduffield/gocui v0.3.1-0.20230807090044-83a7161c8727
## explicit; go 1.12
github.com/jesseduffield/gocui
# github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10