io/router: account for parent clip areas when scrolling focus into view

Fixes: https://todo.sr.ht/~eliasnaur/gio/389
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2022-04-02 15:49:41 +02:00
parent 36919ef756
commit bd7f50438a
3 changed files with 17 additions and 1 deletions
+2
View File
@@ -161,6 +161,8 @@ func (q *Router) RevealFocus(viewport image.Rectangle) {
return
}
bounds := q.key.queue.BoundsFor(focus)
area := q.key.queue.AreaFor(focus)
viewport = q.pointer.queue.ClipFor(area, viewport)
topleft := bounds.Min.Sub(viewport.Min)
topleft = max(topleft, bounds.Max.Sub(viewport.Max))