From e1de1ba5918ce36c2264e359b1f1c0d5c1687e7b Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sat, 12 Oct 2019 16:31:23 +0200 Subject: [PATCH] io/pointer: delete Foremost priority It wasn't used, and it's not clear that it is useful at all in its current form. For example, a single control with multiple handler keys (say, one for scrolling and one for clicking) will only receive priority Foremost for one of them. Signed-off-by: Elias Naur --- app/internal/input/pointer.go | 7 ++----- io/pointer/doc.go | 4 ++-- io/pointer/pointer.go | 5 ----- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/app/internal/input/pointer.go b/app/internal/input/pointer.go index ddc2f7ae..d2fffd63 100644 --- a/app/internal/input/pointer.go +++ b/app/internal/input/pointer.go @@ -236,14 +236,11 @@ func (q *pointerQueue) Push(e pointer.Event, events *handlerEvents) { if e.Type == pointer.Release { q.pointers = append(q.pointers[:pidx], q.pointers[pidx+1:]...) } - for i, k := range p.handlers { + for _, k := range p.handlers { h := q.handlers[k] e := e - switch { - case p.pressed && len(p.handlers) == 1: + if p.pressed && len(p.handlers) == 1 { e.Priority = pointer.Grabbed - case i == 0: - e.Priority = pointer.Foremost } e.Hit = q.hit(h.area, e.Position) e.Position = h.transform.Invert().Transform(e.Position) diff --git a/io/pointer/doc.go b/io/pointer/doc.go index 5fe2673b..91cdb716 100644 --- a/io/pointer/doc.go +++ b/io/pointer/doc.go @@ -95,8 +95,8 @@ For multiple grabbing handlers, the foremost handler wins. Priorities Handlers know their position in a matching set of a pointer through -event priorities. The Shared and Foremost priorities are for matching sets -with multiple handlers; the Grabbed priority indicate exclusive access. +event priorities. The Shared priority is for matching sets with +multiple handlers; the Grabbed priority indicate exclusive access. Priorities are useful for deferred gesture matching. diff --git a/io/pointer/pointer.go b/io/pointer/pointer.go index c8fd069d..2ae760b4 100644 --- a/io/pointer/pointer.go +++ b/io/pointer/pointer.go @@ -112,9 +112,6 @@ const ( // Shared priority is for handlers that // are part of a matching set larger than 1. Shared Priority = iota - // Foremost is like Shared, but the handler is - // the foremost in the matching set. - Foremost // Grabbed is used for matching sets of size 1. Grabbed ) @@ -187,8 +184,6 @@ func (p Priority) String() string { switch p { case Shared: return "Shared" - case Foremost: - return "Foremost" case Grabbed: return "Grabbed" default: