From 7cc8acf7bfb115e66efab230cf6c5a6acdfab6ae Mon Sep 17 00:00:00 2001 From: Seungho Baek Date: Mon, 5 Aug 2024 16:33:51 +0900 Subject: [PATCH] Use InheritedVisibilityChanged Event only. - Because InheritedVisibilityChanged Event includes WindowVisibilitychanged Event, this patch removed duplicated work about visibility. Change-Id: I1ffab5f4252e6feb0f85491a9e222b9094494909 Signed-off-by: Seungho Baek --- .../dali-toolkit-test-utils/toolkit-window.cpp | 2 ++ .../dali-toolkit/utc-Dali-AnimatedImageVisual.cpp | 4 +-- .../utc-Dali-AnimatedVectorImageVisual.cpp | 4 +-- .../internal/controls/gl-view/gl-view-impl.cpp | 30 ---------------------- .../internal/controls/gl-view/gl-view-impl.h | 1 - .../animated-image/animated-image-visual.cpp | 24 ----------------- .../visuals/animated-image/animated-image-visual.h | 6 ----- .../animated-vector-image-visual.cpp | 25 ------------------ .../animated-vector-image-visual.h | 6 ----- 9 files changed, 6 insertions(+), 96 deletions(-) diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-window.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-window.cpp index 24d2783..d19da07 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-window.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-window.cpp @@ -193,12 +193,14 @@ void Window::Raise() void Window::Show() { GetImplementation(*this).mVisible = true; + GetImplementation(*this).GetScene().Show(); GetImplementation(*this).mVisibilityChangedSignal.Emit(*this, true); } void Window::Hide() { GetImplementation(*this).mVisible = false; + GetImplementation(*this).GetScene().Hide(); GetImplementation(*this).mVisibilityChangedSignal.Emit(*this, false); } diff --git a/automated-tests/src/dali-toolkit/utc-Dali-AnimatedImageVisual.cpp b/automated-tests/src/dali-toolkit/utc-Dali-AnimatedImageVisual.cpp index 161b479..5aba45a 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-AnimatedImageVisual.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-AnimatedImageVisual.cpp @@ -2190,10 +2190,10 @@ int UtcDaliAnimatedImageVisualControlVisibilityChanged(void) END_TEST; } -int UtcDaliAnimatedImageVisualWindowVisibilityChanged(void) +int UtcDaliAnimatedImageVisualInheritedVisibilityChanged(void) { ToolkitTestApplication application; - tet_infoline("UtcDaliAnimatedImageVisualWindowVisibilityChanged"); + tet_infoline("UtcDaliAnimatedImageVisualInheritedVisibilityChanged"); Property::Map propertyMap; propertyMap.Add(Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_IMAGE) diff --git a/automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp b/automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp index 55891b8..7d4bdb3 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp @@ -2147,10 +2147,10 @@ int UtcDaliAnimatedVectorImageVisualControlVisibilityChanged(void) END_TEST; } -int UtcDaliAnimatedVectorImageVisualWindowVisibilityChanged(void) +int UtcDaliAnimatedVectorImageVisualInheritedVisibilityChanged(void) { ToolkitTestApplication application; - tet_infoline("UtcDaliAnimatedVectorImageVisualWindowVisibilityChanged"); + tet_infoline("UtcDaliAnimatedVectorImageVisualInheritedVisibilityChanged"); Property::Map propertyMap; propertyMap.Add(Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_VECTOR_IMAGE) diff --git a/dali-toolkit/internal/controls/gl-view/gl-view-impl.cpp b/dali-toolkit/internal/controls/gl-view/gl-view-impl.cpp index 11fe19d..73b67d9 100644 --- a/dali-toolkit/internal/controls/gl-view/gl-view-impl.cpp +++ b/dali-toolkit/internal/controls/gl-view/gl-view-impl.cpp @@ -223,44 +223,14 @@ void GlView::OnControlInheritedVisibilityChanged(Dali::Actor actor, bool visible } } -void GlView::OnWindowVisibilityChanged(Window window, bool visible) -{ - if(mRenderThread) - { - if(visible && Self().GetProperty(Actor::Property::VISIBLE)) - { - mRenderThread->Resume(); - } - else - { - mRenderThread->Pause(); - } - } -} - void GlView::OnSceneConnection(int depth) { Control::OnSceneConnection(depth); - - Actor self = Self(); - Window window = DevelWindow::Get(self); - - if(window) - { - mPlacementWindow = window; - DevelWindow::VisibilityChangedSignal(window).Connect(this, &GlView::OnWindowVisibilityChanged); - } } void GlView::OnSceneDisconnection() { Control::OnSceneDisconnection(); - Window window = mPlacementWindow.GetHandle(); - if(window) - { - DevelWindow::VisibilityChangedSignal(window).Disconnect(this, &GlView::OnWindowVisibilityChanged); - mPlacementWindow.Reset(); - } } Dali::Geometry GlView::CreateTexturedQuad() diff --git a/dali-toolkit/internal/controls/gl-view/gl-view-impl.h b/dali-toolkit/internal/controls/gl-view/gl-view-impl.h index 0d80925..faeafc5 100644 --- a/dali-toolkit/internal/controls/gl-view/gl-view-impl.h +++ b/dali-toolkit/internal/controls/gl-view/gl-view-impl.h @@ -148,7 +148,6 @@ private: Dali::NativeImageSourceQueue::ColorFormat GetColorFormat(Dali::Toolkit::GlView::ColorFormat format); private: - WeakHandle mPlacementWindow; std::unique_ptr mRenderThread; Dali::NativeImageSourceQueuePtr mNativeImageQueue; Dali::Toolkit::GlView::RenderingMode mRenderingMode; diff --git a/dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp b/dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp index 0b96cf5..803979a 100644 --- a/dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp +++ b/dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp @@ -820,13 +820,6 @@ void AnimatedImageVisual::DoSetOnScene(Actor& actor) PrepareTextureSet(); actor.InheritedVisibilityChangedSignal().Connect(this, &AnimatedImageVisual::OnControlInheritedVisibilityChanged); - - Window window = DevelWindow::Get(actor); - if(window) - { - mPlacementWindow = window; - DevelWindow::VisibilityChangedSignal(window).Connect(this, &AnimatedImageVisual::OnWindowVisibilityChanged); - } } void AnimatedImageVisual::DoSetOffScene(Actor& actor) @@ -858,13 +851,6 @@ void AnimatedImageVisual::DoSetOffScene(Actor& actor) mCurrentLoopIndex = FIRST_LOOP; actor.InheritedVisibilityChangedSignal().Disconnect(this, &AnimatedImageVisual::OnControlInheritedVisibilityChanged); - - Window window = mPlacementWindow.GetHandle(); - if(window) - { - DevelWindow::VisibilityChangedSignal(window).Disconnect(this, &AnimatedImageVisual::OnWindowVisibilityChanged); - mPlacementWindow.Reset(); - } } void AnimatedImageVisual::OnSetTransform() @@ -1196,16 +1182,6 @@ void AnimatedImageVisual::OnControlInheritedVisibilityChanged(Actor actor, bool } } -void AnimatedImageVisual::OnWindowVisibilityChanged(Window window, bool visible) -{ - if(!visible && mActionStatus != DevelAnimatedImageVisual::Action::STOP) - { - mActionStatus = DevelAnimatedImageVisual::Action::STOP; - DisplayNextFrame(); - DALI_LOG_INFO(gAnimImgLogFilter, Debug::Verbose, "AnimatedImageVisual::OnWindowVisibilityChanged: invisibile. Pause animation [%p]\n", this); - } -} - } // namespace Internal } // namespace Toolkit diff --git a/dali-toolkit/internal/visuals/animated-image/animated-image-visual.h b/dali-toolkit/internal/visuals/animated-image/animated-image-visual.h index d8c2f8e..34863a2 100644 --- a/dali-toolkit/internal/visuals/animated-image/animated-image-visual.h +++ b/dali-toolkit/internal/visuals/animated-image/animated-image-visual.h @@ -263,11 +263,6 @@ private: */ void OnControlInheritedVisibilityChanged(Actor actor, bool visible); - /** - * @brief Callback when the visibility of the window is changed. - */ - void OnWindowVisibilityChanged(Window window, bool visible); - // Undefined AnimatedImageVisual(const AnimatedImageVisual& animatedImageVisual); @@ -276,7 +271,6 @@ private: private: Timer mFrameDelayTimer; - WeakHandle mPlacementWindow; WeakHandle mPlacementActor; ImageVisualShaderFactory& mImageVisualShaderFactory; diff --git a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp index cb36843..21c60ff 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp +++ b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp @@ -483,13 +483,6 @@ void AnimatedVectorImageVisual::DoSetOnScene(Actor& actor) actor.InheritedVisibilityChangedSignal().Connect(this, &AnimatedVectorImageVisual::OnControlInheritedVisibilityChanged); - Window window = DevelWindow::Get(actor); - if(window) - { - mPlacementWindow = window; - DevelWindow::VisibilityChangedSignal(window).Connect(this, &AnimatedVectorImageVisual::OnWindowVisibilityChanged); - } - if(mImpl->mEventObserver) { // The visual needs it's size set before it can be rasterized hence request relayout once on stage @@ -520,13 +513,6 @@ void AnimatedVectorImageVisual::DoSetOffScene(Actor& actor) actor.InheritedVisibilityChangedSignal().Disconnect(this, &AnimatedVectorImageVisual::OnControlInheritedVisibilityChanged); - Window window = mPlacementWindow.GetHandle(); - if(window) - { - DevelWindow::VisibilityChangedSignal(window).Disconnect(this, &AnimatedVectorImageVisual::OnWindowVisibilityChanged); - mPlacementWindow.Reset(); - } - mPlacementActor.Reset(); // Reset the visual size to zero so that when adding the actor back to stage the rasterization is forced @@ -868,17 +854,6 @@ void AnimatedVectorImageVisual::OnControlInheritedVisibilityChanged(Actor actor, } } -void AnimatedVectorImageVisual::OnWindowVisibilityChanged(Window window, bool visible) -{ - if(!visible) - { - StopAnimation(); - TriggerVectorRasterization(); - - DALI_LOG_INFO(gVectorAnimationLogFilter, Debug::Verbose, "AnimatedVectorImageVisual::OnWindowVisibilityChanged: invisibile. Pause animation [%p]\n", this); - } -} - void AnimatedVectorImageVisual::OnProcessEvents() { SendAnimationData(); diff --git a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h index 874a88a..be59bae 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h +++ b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h @@ -217,11 +217,6 @@ private: void OnControlInheritedVisibilityChanged(Actor actor, bool visible); /** - * @brief Callback when the visibility of the window is changed. - */ - void OnWindowVisibilityChanged(Window window, bool visible); - - /** * @brief Callback when the event is processed. */ void OnProcessEvents(); @@ -233,7 +228,6 @@ private: AnimatedVectorImageVisual& operator=(const AnimatedVectorImageVisual& visual) = delete; private: - WeakHandle mPlacementWindow; VisualUrl mImageUrl; VectorAnimationTask::AnimationData mAnimationData; VectorAnimationTaskPtr mVectorAnimationTask; -- 2.7.4