constexpr float FULL_OPACITY = 1.0f;
constexpr float LOW_OPACITY = 0.2f;
+constexpr float TRANSITION_EFFECT_SPEED = 0.3f;
BaseHandle Create()
{
if(handle)
{
- mTransitionAnimation = Animation::New(1.5f);
+ mTransitionAnimation = Animation::New(TRANSITION_EFFECT_SPEED);
mTransitionAnimation.SetEndAction(Animation::EndAction::DISCARD);
float destinationAlpha = (mTransitionTargetAlpha > LOW_OPACITY) ? mTransitionTargetAlpha : LOW_OPACITY;
- if(mPreviousVisual) // Transition previous image
- {
- Dali::KeyFrames fadeoutKeyFrames = Dali::KeyFrames::New();
- fadeoutKeyFrames.Add(0.0f, destinationAlpha);
- fadeoutKeyFrames.Add(1.0f, LOW_OPACITY);
- Internal::Visual::Base& visualImpl = Toolkit::GetImplementation(mPreviousVisual);
- mTransitionAnimation.AnimateBetween(visualImpl.GetPropertyObject(Toolkit::Visual::Property::OPACITY), fadeoutKeyFrames);
- }
- else if(mPlaceholderVisual) // Transition placeholder
- {
- Dali::KeyFrames fadeoutKeyFrames = Dali::KeyFrames::New();
- fadeoutKeyFrames.Add(0.0f, destinationAlpha);
- fadeoutKeyFrames.Add(1.0f, LOW_OPACITY);
- Internal::Visual::Base& visualImpl = Toolkit::GetImplementation(mPlaceholderVisual);
- mTransitionAnimation.AnimateBetween(visualImpl.GetPropertyObject(Toolkit::Visual::Property::OPACITY), fadeoutKeyFrames);
- }
-
// Transition current image
Toolkit::Visual::Base imageVisual = DevelControl::GetVisual(*this, Toolkit::ImageView::Property::IMAGE);
if(imageVisual)
Dali::KeyFrames fadeinKeyFrames = Dali::KeyFrames::New();
fadeinKeyFrames.Add(0.0f, LOW_OPACITY);
fadeinKeyFrames.Add(1.0f, destinationAlpha);
- mTransitionAnimation.AnimateBetween(DevelControl::GetVisualProperty(handle, Toolkit::ImageView::Property::IMAGE, Toolkit::Visual::Property::OPACITY), fadeinKeyFrames);
+ mTransitionAnimation.AnimateBetween(DevelControl::GetVisualProperty(handle, Toolkit::ImageView::Property::IMAGE, Toolkit::Visual::Property::OPACITY), fadeinKeyFrames, AlphaFunction::EASE_IN_OUT);
}
// Play transition animation