diff options
author | Simon Whitaker <sw@netcetera.org> | 2023-08-06 14:55:14 +0100 |
---|---|---|
committer | Simon Whitaker <sw@netcetera.org> | 2023-08-07 15:10:28 +0100 |
commit | ed1547e0cb60d9234fe901f8b3330fbae2e1fd87 (patch) | |
tree | e6e9a7459d817609cd10222b64e70fa61f837c32 /vendor | |
parent | 579791e7bc8261e9ed578f882f4b8b11a486bf78 (diff) |
Add a Click() primitive to the integration test library
Diffstat (limited to 'vendor')
-rw-r--r-- | vendor/github.com/jesseduffield/gocui/gui.go | 10 | ||||
-rw-r--r-- | vendor/github.com/jesseduffield/gocui/tcell_driver.go | 25 | ||||
-rw-r--r-- | vendor/modules.txt | 2 |
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 |