|
@@ -83,16 +83,18 @@ void InputSourceTouch::handleEventFingerMotion(const SDL_TouchFingerEvent & tfin
|
|
|
break;
|
|
|
}
|
|
|
case TouchState::TAP_DOWN_SHORT:
|
|
|
+ case TouchState::TAP_DOWN_LONG_AWAIT:
|
|
|
{
|
|
|
Point distance = convertTouchToMouse(tfinger) - lastTapPosition;
|
|
|
if ( std::abs(distance.x) > params.panningSensitivityThreshold || std::abs(distance.y) > params.panningSensitivityThreshold)
|
|
|
{
|
|
|
- state = TouchState::TAP_DOWN_PANNING;
|
|
|
+ state = state == TouchState::TAP_DOWN_SHORT ? TouchState::TAP_DOWN_PANNING : TouchState::TAP_DOWN_PANNING_POPUP;
|
|
|
GH.events().dispatchGesturePanningStarted(lastTapPosition);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
case TouchState::TAP_DOWN_PANNING:
|
|
|
+ case TouchState::TAP_DOWN_PANNING_POPUP:
|
|
|
{
|
|
|
emitPanningEvent(tfinger);
|
|
|
break;
|
|
@@ -103,7 +105,6 @@ void InputSourceTouch::handleEventFingerMotion(const SDL_TouchFingerEvent & tfin
|
|
|
break;
|
|
|
}
|
|
|
case TouchState::TAP_DOWN_LONG:
|
|
|
- case TouchState::TAP_DOWN_LONG_AWAIT:
|
|
|
{
|
|
|
// no-op
|
|
|
break;
|
|
@@ -157,8 +158,11 @@ void InputSourceTouch::handleEventFingerDown(const SDL_TouchFingerEvent & tfinge
|
|
|
CSH->getGlobalLobby().activateInterface();
|
|
|
break;
|
|
|
}
|
|
|
- case TouchState::TAP_DOWN_LONG:
|
|
|
case TouchState::TAP_DOWN_LONG_AWAIT:
|
|
|
+ lastTapPosition = convertTouchToMouse(tfinger);
|
|
|
+ break;
|
|
|
+ case TouchState::TAP_DOWN_LONG:
|
|
|
+ case TouchState::TAP_DOWN_PANNING_POPUP:
|
|
|
{
|
|
|
// no-op
|
|
|
break;
|
|
@@ -205,9 +209,10 @@ void InputSourceTouch::handleEventFingerUp(const SDL_TouchFingerEvent & tfinger)
|
|
|
break;
|
|
|
}
|
|
|
case TouchState::TAP_DOWN_PANNING:
|
|
|
+ case TouchState::TAP_DOWN_PANNING_POPUP:
|
|
|
{
|
|
|
GH.events().dispatchGesturePanningEnded(lastTapPosition, convertTouchToMouse(tfinger));
|
|
|
- state = TouchState::IDLE;
|
|
|
+ state = state == TouchState::TAP_DOWN_PANNING ? TouchState::IDLE : TouchState::TAP_DOWN_LONG_AWAIT;
|
|
|
break;
|
|
|
}
|
|
|
case TouchState::TAP_DOWN_DOUBLE:
|