X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fnodes%2Fnode.h;h=dc7802c8778a83956f5975fd43d92afc7f457a70;hb=db9cfcd683be8e4b3a1f83f6378e493770eb9533;hp=5cd607379cb0f3aad78b3e45f76e48a4e5cee400;hpb=40086860bd69009c8b4df6402f9a135cce074843;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/nodes/node.h b/dali/internal/update/nodes/node.h index 5cd6073..dc7802c 100755 --- a/dali/internal/update/nodes/node.h +++ b/dali/internal/update/nodes/node.h @@ -182,6 +182,7 @@ public: */ void SetClippingMode( const ClippingMode::Type clippingMode ) { + SetPropertyDirty( true ); mClippingMode = clippingMode; } @@ -313,6 +314,7 @@ public: */ void SetDirtyFlag( NodePropertyFlags flag ) { + SetPropertyDirty( true ); mDirtyFlags |= flag; } @@ -684,6 +686,7 @@ public: */ void SetDrawMode( const DrawMode::Type& drawMode ) { + SetPropertyDirty( true ); mDrawMode = drawMode; } @@ -720,6 +723,7 @@ public: */ void SetDepthIndex( uint32_t depthIndex ) { + SetPropertyDirty( true ); mDepthIndex = depthIndex; } @@ -765,6 +769,52 @@ public: return mCulled[bufferIndex]; } + /** + * @Is component changed + * @Return true if component is changed else false + */ + bool IsComponentChanged() const + { + return (mTransformId != INVALID_TRANSFORM_ID) && + (mTransformManager->IsComponentChanged( mTransformId )); + } + + /** + * Retrieve the update size hint of the node + * @return A vector3 describing the update size hint + */ + void GetUpdateSizeHint( BufferIndex bufferIndex, Vector3& updateSizeHint ) const + { + if( mTransformId != INVALID_TRANSFORM_ID ) + { + mTransformManager->GetUpdateSizeHint( mTransformId, updateSizeHint ); + } + } + + /** + * 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 + */ + virtual void SetPropertyDirty( bool value ); + + /** + * Query the property status following rendering of a frame. + * @return True if the property has changed + */ + virtual bool IsPropertyDirty() const; + public: /** * @copydoc UniformMap::Add @@ -877,6 +927,7 @@ public: // Default properties TransformManagerPropertyVector3 mPosition; ///< Local transform; distance between parent-origin & anchor-point TransformManagerPropertyQuaternion mOrientation; ///< Local transform; rotation relative to parent node TransformManagerPropertyVector3 mScale; ///< Local transform; scale relative to parent node + TransformManagerPropertyVector3 mUpdateSizeHint; ///< Local transform; update size hint is provided for partial update AnimatableProperty mVisible; ///< Visibility can be inherited from the Node hierachy AnimatableProperty mCulled; ///< True if the node is culled. This is not animatable. It is just double-buffered. @@ -921,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; };