io/router: don't send pointer.Cancel events to disappearing handlers

As a follow-up to gioui.org/commit/24f69bf4, this change makes it so
that merely adding a pointer.InputOp doesn't trigger redraws when
the pointer is hovered over its area.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2021-01-23 12:00:50 +01:00
parent 84b586ae6c
commit cc63a3aeb7
2 changed files with 18 additions and 7 deletions
+6 -3
View File
@@ -89,9 +89,12 @@ func TestPointerMove(t *testing.T) {
Type: pointer.Move,
Position: f32.Pt(100, 50),
},
pointer.Event{
Type: pointer.Cancel,
},
)
assertEventSequence(t, r.Events(handler1), pointer.Cancel, pointer.Enter, pointer.Move, pointer.Move, pointer.Leave)
assertEventSequence(t, r.Events(handler2), pointer.Cancel, pointer.Enter, pointer.Move, pointer.Leave)
assertEventSequence(t, r.Events(handler1), pointer.Cancel, pointer.Enter, pointer.Move, pointer.Move, pointer.Leave, pointer.Cancel)
assertEventSequence(t, r.Events(handler2), pointer.Cancel, pointer.Enter, pointer.Move, pointer.Leave, pointer.Cancel)
}
func TestPointerTypes(t *testing.T) {
@@ -396,7 +399,7 @@ func TestPointerActiveInputDisappears(t *testing.T) {
Position: f32.Pt(25, 25),
},
)
assertEventSequence(t, r.Events(handler1), pointer.Cancel)
assertEventSequence(t, r.Events(handler1))
}
func TestMultitouch(t *testing.T) {