aboutsummaryrefslogtreecommitdiff
path: root/go/ui/update.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/ui/update.go')
-rw-r--r--go/ui/update.go23
1 files changed, 10 insertions, 13 deletions
diff --git a/go/ui/update.go b/go/ui/update.go
index c4ed3224..621d5dea 100644
--- a/go/ui/update.go
+++ b/go/ui/update.go
@@ -79,6 +79,13 @@ func Update() error {
return err
}
+ var hoverEv InputEvent
+ var hoverChange bool
+ if len(TouchManager.taps) > 0 || TouchManager.pan != nil || TouchManager.pinch != nil {
+ hoverEv, hoverChange = longtapHoverDetector.reset()
+ if hoverChange { AppendInput(hoverEv) }
+ }
+
for _, tap := range TouchManager.taps {
AppendInput(InputEvent{Tap, tap.x, tap.y, nil})
}
@@ -90,16 +97,8 @@ func Update() error {
}
- var hoverEv InputEvent
- var hoverChange bool
- if TouchManager.longtap != nil {
- hoverEv, hoverChange = longtapHoverDetector.update(TouchManager.longtap.x, TouchManager.longtap.y)
- } else {
- hoverEv, hoverChange = longtapHoverDetector.update(-1, -1)
- }
- if hoverChange {
- AppendInput(hoverEv)
- }
+ hoverEv, hoverChange = longtapHoverDetector.update(TouchManager.longtap)
+ if hoverChange { AppendInput(hoverEv) }
// TODO: handle pinching
if TouchManager.pinch != nil {
@@ -107,9 +106,7 @@ func Update() error {
x, y := ebiten.CursorPosition()
hoverEv, hoverChange = hoverDetector.update(x, y)
- if hoverChange {
- AppendInput(hoverEv)
- }
+ if hoverChange { AppendInput(hoverEv) }
scrollX, scrollY := ebiten.Wheel()
if scrollX != 0 || scrollY != 0 {