[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / animated-vector-image / animated-vector-image-visual.h
index 493e621..748f427 100644 (file)
@@ -53,7 +53,7 @@ using AnimatedVectorImageVisualPtr = IntrusivePtr<AnimatedVectorImageVisual>;
  * | url                      | STRING           |
  *
  */
-class AnimatedVectorImageVisual : public Visual::Base, public ConnectionTracker, public VectorAnimationManager::LifecycleObserver
+class AnimatedVectorImageVisual : public Visual::Base, public ConnectionTracker
 {
 public:
   /**
@@ -99,12 +99,6 @@ public: // from Visual
    */
   void EnablePreMultipliedAlpha(bool preMultiplied) override;
 
-protected: // From VectorAnimationManager::LifecycleObserver:
-  /**
-   * @copydoc VectorAnimationManager::LifecycleObserver::VectorAnimationManagerDestroyed()
-   */
-  void VectorAnimationManagerDestroyed() override;
-
 protected:
   /**
    * @brief Constructor.
@@ -182,8 +176,10 @@ private:
 
   /**
    * @brief Event callback from rasterize thread. This is called after the animation is finished.
+   *
+   * @param[in] playStateId The play state id
    */
-  void OnAnimationFinished();
+  void OnAnimationFinished(uint32_t playStateId);
 
   /**
    * @brief Send animation data to the rasterize thread.
@@ -237,6 +233,7 @@ private:
   AnimatedVectorImageVisual& operator=(const AnimatedVectorImageVisual& visual) = delete;
 
 private:
+  WeakHandle<Window>                 mPlacementWindow;
   VisualUrl                          mImageUrl;
   VectorAnimationTask::AnimationData mAnimationData;
   VectorAnimationTaskPtr             mVectorAnimationTask;
@@ -250,12 +247,14 @@ private:
   DevelImageVisual::PlayState::Type  mPlayState;
   CallbackBase*                      mEventCallback; // Not owned
 
+  uint32_t mLastSentPlayStateId;
+
   bool mLoadFailed : 1;
   bool mRendererAdded : 1;
-  bool mCoreShutdown : 1;
   bool mRedrawInScalingDown : 1;
   bool mEnableFrameCache : 1;
   bool mUseNativeImage : 1;
+  bool mNotifyAfterRasterization : 1;
 };
 
 } // namespace Internal