From: seungho Date: Mon, 28 Jun 2021 09:45:22 +0000 (+0900) Subject: Fix to use world color for the Fade Transition. X-Git-Tag: dali_2.0.33~2^2 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=4ff37165891e7e9c84f34e0f22205e7f09696164 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 --- 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);