From 4ff37165891e7e9c84f34e0f22205e7f09696164 Mon Sep 17 00:00:00 2001 From: seungho Date: Mon, 28 Jun 2021 18:45:22 +0900 Subject: [PATCH] Fix to use world color for the Fade Transition. - In the current Fade transition implementation, set mOpacity and current property of target control for the transition animation. - It could create wrong value, for example, for the fade out transition the input mOpacity could be larger than the value of target opacity. Change-Id: I7a55fdb7775a4a9f183360c0eddfb3ca88076287 Signed-off-by: seungho --- dali-toolkit/internal/transition/fade-impl.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/dali-toolkit/internal/transition/fade-impl.cpp b/dali-toolkit/internal/transition/fade-impl.cpp index 30edc3e..33bee66 100644 --- a/dali-toolkit/internal/transition/fade-impl.cpp +++ b/dali-toolkit/internal/transition/fade-impl.cpp @@ -87,17 +87,20 @@ void Fade::OnPlay() Property::Map startPropertyMap; Property::Map finishPropertyMap; + float targetOpacity = GetWorldColor(targetControl).a; + targetControl[Dali::Actor::Property::COLOR_MODE] = Dali::ColorMode::USE_OWN_COLOR; + if(IsAppearingTransition()) { initialPropertyMap.Insert(Dali::Actor::Property::OPACITY, 0.0f); - startPropertyMap.Insert(Dali::Actor::Property::OPACITY, mOpacity); - finishPropertyMap.Insert(Dali::Actor::Property::OPACITY, targetControl[Dali::Actor::Property::OPACITY]); + startPropertyMap.Insert(Dali::Actor::Property::OPACITY, mOpacity * targetOpacity); + finishPropertyMap.Insert(Dali::Actor::Property::OPACITY, targetOpacity); } else { - initialPropertyMap.Insert(Dali::Actor::Property::OPACITY, targetControl[Dali::Actor::Property::OPACITY]); - startPropertyMap.Insert(Dali::Actor::Property::OPACITY, targetControl[Dali::Actor::Property::OPACITY]); - finishPropertyMap.Insert(Dali::Actor::Property::OPACITY, mOpacity); + initialPropertyMap.Insert(Dali::Actor::Property::OPACITY, targetOpacity); + startPropertyMap.Insert(Dali::Actor::Property::OPACITY, targetOpacity); + finishPropertyMap.Insert(Dali::Actor::Property::OPACITY, mOpacity * targetOpacity); } SetInitialPropertyMap(initialPropertyMap); -- 2.7.4