mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-06 01:45:36 +00:00
io/router: only calculate position if event is delivered in Router
Signed-off-by: pierre <pierre.curto@gmail.com>
This commit is contained in:
@@ -340,9 +340,8 @@ func (q *pointerQueue) deliverEvent(p *pointerInfo, events *handlerEvents, e poi
|
|||||||
e.Priority = pointer.Foremost
|
e.Priority = pointer.Foremost
|
||||||
}
|
}
|
||||||
|
|
||||||
e.Position = q.invTransform(h.area, e.Position)
|
if e.Type&h.types != 0 {
|
||||||
|
e.Position = q.invTransform(h.area, e.Position)
|
||||||
if e.Type&h.types == e.Type {
|
|
||||||
foremost = false
|
foremost = false
|
||||||
events.Add(k, e)
|
events.Add(k, e)
|
||||||
}
|
}
|
||||||
@@ -372,9 +371,9 @@ func (q *pointerQueue) deliverEnterLeaveEvents(p *pointerInfo, events *handlerEv
|
|||||||
}
|
}
|
||||||
h := q.handlers[k]
|
h := q.handlers[k]
|
||||||
e.Type = pointer.Leave
|
e.Type = pointer.Leave
|
||||||
e.Position = q.invTransform(h.area, e.Position)
|
|
||||||
|
|
||||||
if e.Type&h.types == e.Type {
|
if e.Type&h.types != 0 {
|
||||||
|
e.Position = q.invTransform(h.area, e.Position)
|
||||||
events.Add(k, e)
|
events.Add(k, e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -392,9 +391,9 @@ func (q *pointerQueue) deliverEnterLeaveEvents(p *pointerInfo, events *handlerEv
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
e.Type = pointer.Enter
|
e.Type = pointer.Enter
|
||||||
e.Position = q.invTransform(h.area, e.Position)
|
|
||||||
|
|
||||||
if e.Type&h.types == e.Type {
|
if e.Type&h.types != 0 {
|
||||||
|
e.Position = q.invTransform(h.area, e.Position)
|
||||||
events.Add(k, e)
|
events.Add(k, e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user