mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
io/pointer: remove Foremost priority
The only known use-case (nested scrolling) now works without special treatment of the foremost handler. Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -792,10 +792,8 @@ func (q *pointerQueue) Push(handlers map[event.Tag]*handler, state pointerState,
|
||||
}
|
||||
|
||||
func (q *pointerQueue) deliverEvent(handlers map[event.Tag]*handler, p pointerInfo, evts []taggedEvent, e pointer.Event) []taggedEvent {
|
||||
foremost := true
|
||||
if p.pressed && len(p.handlers) == 1 {
|
||||
e.Priority = pointer.Grabbed
|
||||
foremost = false
|
||||
}
|
||||
scroll := e.Scroll
|
||||
for _, k := range p.handlers {
|
||||
@@ -814,10 +812,6 @@ func (q *pointerQueue) deliverEvent(handlers map[event.Tag]*handler, p pointerIn
|
||||
scroll, e.Scroll = f.clampScroll(scroll)
|
||||
}
|
||||
e := e
|
||||
if foremost {
|
||||
foremost = false
|
||||
e.Priority = pointer.Foremost
|
||||
}
|
||||
e.Position = q.invTransform(h.pointer.areaPlusOne-1, e.Position)
|
||||
evts = append(evts, taggedEvent{event: e, tag: k})
|
||||
}
|
||||
|
||||
@@ -400,9 +400,9 @@ func TestPointerPriority(t *testing.T) {
|
||||
assertEventPointerTypeSequence(t, hev1, pointer.Scroll, pointer.Scroll)
|
||||
assertEventPointerTypeSequence(t, hev2, pointer.Scroll)
|
||||
assertEventPointerTypeSequence(t, hev3, pointer.Scroll)
|
||||
assertEventPriorities(t, hev1, pointer.Shared, pointer.Foremost)
|
||||
assertEventPriorities(t, hev2, pointer.Foremost)
|
||||
assertEventPriorities(t, hev3, pointer.Foremost)
|
||||
assertEventPriorities(t, hev1, pointer.Shared, pointer.Shared)
|
||||
assertEventPriorities(t, hev2, pointer.Shared)
|
||||
assertEventPriorities(t, hev3, pointer.Shared)
|
||||
assertScrollEvent(t, hev1[0], f32.Pt(30, 0))
|
||||
assertScrollEvent(t, hev2[0], f32.Pt(20, 0))
|
||||
assertScrollEvent(t, hev1[1], f32.Pt(50, 0))
|
||||
@@ -1143,7 +1143,7 @@ func TestPartialEvent(t *testing.T) {
|
||||
key.FocusEvent{}, pointer.Event{Kind: pointer.Press, Source: pointer.Mouse, Priority: pointer.Shared})
|
||||
r.Source().Execute(key.FocusCmd{Tag: 1})
|
||||
assertEventSequence(t, events(&r, -1, pointer.Filter{Target: 2, Kinds: pointer.Press}),
|
||||
pointer.Event{Kind: pointer.Press, Source: pointer.Mouse, Priority: pointer.Foremost})
|
||||
pointer.Event{Kind: pointer.Press, Source: pointer.Mouse, Priority: pointer.Shared})
|
||||
}
|
||||
|
||||
// offer satisfies io.ReadCloser for use in data transfers.
|
||||
|
||||
Reference in New Issue
Block a user