[Tizen] Implement partial update
[platform/core/uifw/dali-core.git] / dali / internal / update / nodes / node.h
index 5600523..dc7802c 100755 (executable)
@@ -323,7 +323,6 @@ public:
    */
   void SetAllDirtyFlags()
   {
-    SetPropertyDirty( true );
     mDirtyFlags = NodePropertyFlags::ALL;
   }
 
@@ -774,7 +773,7 @@ public:
  * @Is component changed
  * @Return true if component is changed else false
  */
-  bool IsComponentChanged()
+  bool IsComponentChanged() const
   {
     return (mTransformId != INVALID_TRANSFORM_ID) &&
            (mTransformManager->IsComponentChanged( mTransformId ));
@@ -784,16 +783,26 @@ public:
    * Retrieve the update size hint of the node
    * @return A vector3 describing the update size hint
    */
-  const Vector3& GetUpdateSizeHint( BufferIndex bufferIndex ) const
+  void GetUpdateSizeHint( BufferIndex bufferIndex, Vector3& updateSizeHint ) const
   {
     if( mTransformId != INVALID_TRANSFORM_ID )
     {
-      return mTransformManager->GetUpdateSizeHint( mTransformId );
+      mTransformManager->GetUpdateSizeHint( mTransformId, updateSizeHint );
     }
-
-    return Vector3::ZERO;
   }
 
+  /** 
+   * Set Whether the partial update is available
+   * @param[in] partialUpdateAvailable value Set to true if the partial update is available
+   */
+  void SetPartialUpdateAvailable( bool value );
+
+  /** 
+   * Retrieve the whether the partial update is available
+   * @return true if the partial update is available
+   */
+  bool IsPartialUpdateAvailable() const;
+
   /**
    * Set whether partial update needs to run following a render.
    * @param[in] value Set to true if an partial update is required to be run
@@ -963,6 +972,8 @@ protected:
   bool                               mIsLayer:1;              ///< True if the node is a layer
   bool                               mPositionUsesAnchorPoint:1; ///< True if the node should use the anchor-point when calculating the position
 
+  bool                               mPartialUpdateAvailable;  ///< True if the partial update is available
+
   // Changes scope, should be at end of class
   DALI_LOG_OBJECT_STRING_DECLARATION;
 };