mCurrentPanEmitters.clear();
ResetActor();
- HitTestAlgorithm::Results hitTestResults;
- if( HitTest( scene, panEvent.currentPosition, hitTestResults ) )
- {
- SetActor( &GetImplementation( hitTestResults.actor ) );
- mPossiblePanPosition = panEvent.currentPosition;
- }
-
+ // It's only possible on touch-down, which is the position we want to hit-test against when the pan actually starts
+ mPossiblePanPosition = panEvent.currentPosition;
break;
}
HitTestAlgorithm::Results hitTestResults;
HitTest( scene, mPossiblePanPosition, hitTestResults ); // Hit test original possible position...
- if ( hitTestResults.actor && ( GetCurrentGesturedActor() == &GetImplementation( hitTestResults.actor ) ) )
+ if ( hitTestResults.actor )
{
// Record the current render-task for Screen->Actor coordinate conversions
mCurrentRenderTask = hitTestResults.renderTask;
{
case Clear:
{
- if ( ( primaryPointState == PointState::DOWN ) || ( primaryPointState == PointState::STATIONARY ) )
+ if ( ( primaryPointState == PointState::DOWN ) || ( primaryPointState == PointState::STATIONARY ) || ( primaryPointState == PointState::MOTION ))
{
mPrimaryTouchDownLocation = event.points[0].GetScreenPosition();
mPrimaryTouchDownTime = event.time;