Use InheritedVisibilityChanged Event only. 08/315608/2
authorSeungho Baek <sbsh.baek@samsung.com>
Mon, 5 Aug 2024 07:33:51 +0000 (16:33 +0900)
committerSeungho Baek <sbsh.baek@samsung.com>
Mon, 5 Aug 2024 08:58:20 +0000 (17:58 +0900)
 - Because InheritedVisibilityChanged Event includes WindowVisibilitychanged Event,
   this patch removed duplicated work about visibility.

Change-Id: I1ffab5f4252e6feb0f85491a9e222b9094494909
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-window.cpp
automated-tests/src/dali-toolkit/utc-Dali-AnimatedImageVisual.cpp
automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp
dali-toolkit/internal/controls/gl-view/gl-view-impl.cpp
dali-toolkit/internal/controls/gl-view/gl-view-impl.h
dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp
dali-toolkit/internal/visuals/animated-image/animated-image-visual.h
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h

index 24d2783..d19da07 100644 (file)
@@ -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);
 }
 
index 161b479..5aba45a 100644 (file)
@@ -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)
index 55891b8..7d4bdb3 100644 (file)
@@ -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)
index 11fe19d..73b67d9 100644 (file)
@@ -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<bool>(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()
index 0d80925..faeafc5 100644 (file)
@@ -148,7 +148,6 @@ private:
   Dali::NativeImageSourceQueue::ColorFormat GetColorFormat(Dali::Toolkit::GlView::ColorFormat format);
 
 private:
-  WeakHandle<Window>                   mPlacementWindow;
   std::unique_ptr<GlViewRenderThread>  mRenderThread;
   Dali::NativeImageSourceQueuePtr      mNativeImageQueue;
   Dali::Toolkit::GlView::RenderingMode mRenderingMode;
index 0b96cf5..803979a 100644 (file)
@@ -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
index d8c2f8e..34863a2 100644 (file)
@@ -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<Window>        mPlacementWindow;
   WeakHandle<Actor>         mPlacementActor;
   ImageVisualShaderFactory& mImageVisualShaderFactory;
 
index cb36843..21c60ff 100644 (file)
@@ -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();
index 874a88a..be59bae 100644 (file)
@@ -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<Window>                 mPlacementWindow;
   VisualUrl                          mImageUrl;
   VectorAnimationTask::AnimationData mAnimationData;
   VectorAnimationTaskPtr             mVectorAnimationTask;