mCurrentPanEmitters.clear();
ResetActor();
- // 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;
+ HitTestAlgorithm::Results hitTestResults;
+ if( HitTest( scene, panEvent.currentPosition, hitTestResults ) )
+ {
+ SetActor( &GetImplementation( hitTestResults.actor ) );
+ mPossiblePanPosition = panEvent.currentPosition;
+ }
+
break;
}
HitTestAlgorithm::Results hitTestResults;
HitTest( scene, mPossiblePanPosition, hitTestResults ); // Hit test original possible position...
- if ( hitTestResults.actor )
+ if ( hitTestResults.actor && ( GetCurrentGesturedActor() == &GetImplementation( hitTestResults.actor ) ) )
{
// Record the current render-task for Screen->Actor coordinate conversions
mCurrentRenderTask = hitTestResults.renderTask;
{
case Clear:
{
- if ( ( primaryPointState == PointState::DOWN ) || ( primaryPointState == PointState::STATIONARY ) || ( primaryPointState == PointState::MOTION ))
+ if ( ( primaryPointState == PointState::DOWN ) || ( primaryPointState == PointState::STATIONARY ) )
{
mPrimaryTouchDownLocation = event.points[0].GetScreenPosition();
mPrimaryTouchDownTime = event.time;