Add initialize resetter to reduce AnimatableProperty life
[platform/core/uifw/dali-core.git] / dali / internal / update / rendering / scene-graph-renderer.h
index b6fd972..a1787aa 100644 (file)
@@ -425,10 +425,7 @@ public:
   /**
    * @copydoc RenderDataProvider::IsUpdated()
    */
-  bool IsUpdated() const override
-  {
-    return Updated();
-  }
+  bool IsUpdated() const override;
 
   /**
    * @copydoc RenderDataProvider::GetVisualTransformedUpdateArea()
@@ -479,6 +476,18 @@ public:
   void ResetDirtyFlag();
 
   /**
+   * @brief Reset to base values of all animatable properties.
+   *
+   * @param[in] updateBufferIndex the current buffer index
+   */
+  void ResetToBaseValues(BufferIndex updateBufferIndex);
+
+  /**
+   * @brief Mark all animatable properties as dirty.
+   */
+  void MarkAsDirty();
+
+  /**
    * Get the capacity of the memory pools
    * @return the capacity of the memory pools
    */
@@ -496,6 +505,11 @@ public: // PropertyOwner implementation
    */
   virtual void ResetDefaultProperties(BufferIndex updateBufferIndex){};
 
+  /**
+   * @copydoc Dali::Internal::SceneGraph::PropertyOwner::AddInitializeResetter
+   */
+  void AddInitializeResetter(ResetterManager& manager) const override;
+
 public: // From UniformMapDataProvider
   /**
    * @copydoc UniformMapDataProvider::GetCollectedUniformMap
@@ -547,7 +561,6 @@ private:
 
   Dali::Internal::Render::Renderer::StencilParameters mStencilParameters; ///< Struct containing all stencil related options
 
-  uint64_t             mUniformsHash{0};             ///< Hash of uniform map property values
   uint32_t             mIndexedDrawFirstElement;     ///< first element index to be drawn using indexed draw
   uint32_t             mIndexedDrawElementsCount;    ///< number of elements to be drawn using indexed draw
   uint32_t             mBlendBitmask;                ///< The bitmask of blending options