application.ProcessEvent(GenerateSingleTouch(PointState::FINISHED, Vector2(110.0f, 110.0f)));
DALI_TEST_EQUALS(true, data.functorCalled, TEST_LOCATION);
DALI_TEST_EQUALS(data.receivedTouch.GetPoint(0).state, PointState::FINISHED, TEST_LOCATION);
- data.Reset();
-
- // Emit a down outside of actor, we should not receive the event
- application.ProcessEvent(GenerateSingleTouch(PointState::STARTED, Vector2(110.0f, 110.0f)));
- DALI_TEST_EQUALS(false, data.functorCalled, TEST_LOCATION);
- data.Reset();
-
- // Now motion inside of actor, we should not receive the event, Because the touchdown didn't happen inside the actor.
- application.ProcessEvent(GenerateSingleTouch(PointState::MOTION, Vector2(10.0f, 10.0f)));
- DALI_TEST_EQUALS(false, data.functorCalled, TEST_LOCATION);
- data.Reset();
-
- // Up event, we should not receive the event, Because the touchdown didn't happen inside the actor.
- application.ProcessEvent(GenerateSingleTouch(PointState::FINISHED, Vector2(110.0f, 110.0f)));
- DALI_TEST_EQUALS(false, data.functorCalled, TEST_LOCATION);
- data.Reset();
END_TEST;
}
}
}
- // If CapturesAllTouchAfterStart() is true, it should be hit only after touchdown.
- // If the touch moves after another actor has been touched so that the current actor is hit, it should behave as if it didn't hit.
- if(actor.CapturesAllTouchAfterStart() && point.GetState() != PointState::STARTED)
- {
- haveHitActor = false;
- }
-
// If the hit actor does not want to hit, the hit-test continues.
if(haveHitActor && hitCheck.ActorRequiresHitResultCheck(&actor, point, hitPointLocal, eventTime))
{