From: Joogab Yun Date: Mon, 19 Apr 2021 08:16:15 +0000 (+0900) Subject: [Tizen] fix visual artifact of Transition X-Git-Tag: accepted/tizen/unified/20210422.090507~1 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=7dd7f6cce36039c904d335267680edbbecb2eb89 [Tizen] fix visual artifact of Transition This reverts commit 750d2f457e14f3801e424efcc8cc84f36e90a207. Change-Id: Ie89c794f173dfe12dceb1d1d079f364b076043e7 --- diff --git a/dali-toolkit/internal/transition/transition-base-impl.h b/dali-toolkit/internal/transition/transition-base-impl.h index 76ab1d8..9dc3b73 100644 --- a/dali-toolkit/internal/transition/transition-base-impl.h +++ b/dali-toolkit/internal/transition/transition-base-impl.h @@ -161,6 +161,11 @@ protected: */ Vector4 GetWorldColor(Dali::Actor actor); + bool IsTransitionWithChild() + { + return mTransitionWithChild; + } + protected: /** * Construct a new TransitionBase. diff --git a/dali-toolkit/internal/transition/transition-impl.cpp b/dali-toolkit/internal/transition/transition-impl.cpp index f771585..d9cffb3 100644 --- a/dali-toolkit/internal/transition/transition-impl.cpp +++ b/dali-toolkit/internal/transition/transition-impl.cpp @@ -129,7 +129,14 @@ void Transition::OnPlay() SetFinishPropertyMap(finishPropertyMap); // source View becomes transparent during transition. - GetImplementation(mSourceView).SetTransparent(true); + if(IsTransitionWithChild()) + { + mSourceView[Dali::Actor::Property::VISIBLE] = false; + } + else + { + GetImplementation(mSourceView).SetTransparent(true); + } Dali::Animation animation = GetAnimation(); if(!animation) @@ -144,7 +151,14 @@ void Transition::OnFinished() { if(mShowSourceAfterFinished) { - GetImplementation(mSourceView).SetTransparent(false); + if(IsTransitionWithChild()) + { + mSourceView[Dali::Actor::Property::VISIBLE] = true; + } + else + { + GetImplementation(mSourceView).SetTransparent(false); + } } } diff --git a/dali-toolkit/public-api/controls/control-impl.cpp b/dali-toolkit/public-api/controls/control-impl.cpp index b989941..80e03f8 100644 --- a/dali-toolkit/public-api/controls/control-impl.cpp +++ b/dali-toolkit/public-api/controls/control-impl.cpp @@ -767,16 +767,6 @@ void Control::CreateTransitions(Dali::Animation& animation, Dali::Toolkit::Contr } } -void Control::SetTransparent(bool transparent) -{ - CustomActorImpl::SetTransparent(transparent); -} - -bool Control::GetTransparent() const -{ - return CustomActorImpl::GetTransparent(); -} - void Control::MakeVisualTransition(Dali::Animation& animation, Dali::Toolkit::Control source, Dali::Property::Index index, AlphaFunction alphaFunction, TimePeriod timePeriod) { Dali::Toolkit::Control sourceHandle = Dali::Toolkit::Control::DownCast(source); diff --git a/dali-toolkit/public-api/controls/control-impl.h b/dali-toolkit/public-api/controls/control-impl.h index b3d542f..18aaac6 100644 --- a/dali-toolkit/public-api/controls/control-impl.h +++ b/dali-toolkit/public-api/controls/control-impl.h @@ -264,16 +264,6 @@ public: */ virtual void CreateTransitions(Dali::Animation& animation, Dali::Toolkit::Control source, AlphaFunction alphaFunction, TimePeriod timePeriod); - /** - * @brief Set this Control is transparent or not without any affection on the child Actors. - */ - void SetTransparent(bool transparent) override; - - /** - * @brief Get this Control is transparent or not. - */ - bool GetTransparent() const override; - // Signals /**