diff options
Diffstat (limited to 'go/ui/update.go')
| -rw-r--r-- | go/ui/update.go | 23 |
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 { |
