X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-core.git;a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fmanager%2Ftransform-manager.h;h=30b253b226a87a767785e208e586d2fe3bd5ba1e;hp=6bf9bdafac7d4495ce216e6c0b1da4db22db3774;hb=b43741a90b40ca9dfbd33d6a9d390d3c09230e89;hpb=75552e8d3b4e8db822723d0c177afe1becc4b4cc diff --git a/dali/internal/update/manager/transform-manager.h b/dali/internal/update/manager/transform-manager.h old mode 100644 new mode 100755 index 6bf9bda..30b253b --- a/dali/internal/update/manager/transform-manager.h +++ b/dali/internal/update/manager/transform-manager.h @@ -89,6 +89,7 @@ enum TransformManagerProperty TRANSFORM_PROPERTY_WORLD_SCALE, TRANSFORM_PROPERTY_WORLD_ORIENTATION, TRANSFORM_PROPERTY_WORLD_MATRIX, + TRANSFORM_PROPERTY_UPDATE_SIZE_HINT, TRANSFORM_PROPERTY_COUNT, }; @@ -336,6 +337,13 @@ public: const Vector4& GetBoundingSphere( TransformId id ) const; /** + * Component of node is changed or not + * @param[in] id Id of the transform component + * @return true if Component box is changed else false. + */ + bool IsComponentChanged( TransformId id ); + + /** * Get the world matrix and size of a given component * @param[in] id Id of the transform component * @param[out] The world matrix of the component @@ -344,6 +352,14 @@ public: void GetWorldMatrixAndSize( TransformId id, Matrix& worldMatrix, Vector3& size ) const; /** + * Get the update size hint, + * @param[in] id Id of the transform component + * @return The update size hint of the component + */ + const Vector3& GetUpdateSizeHint( TransformId id ) const; + + + /** * @brief Sets the boolean which states whether the position should use the anchor-point on the given transform component. * @param[in] id Id of the transform component * @param[in] value True if the position should use the anchor-point @@ -383,6 +399,7 @@ private: Vector< Vector3 > mSize; ///< Size of the components Vector< TransformId > mParent; ///< Parent of the components Vector< Matrix > mWorld; ///< Local to world transform of the components + Vector< Matrix > mPrevWorld; ///< Local to world transform of the components in last frame Vector< Matrix > mLocal; ///< Local to parent space transform of the components Vector< Vector4 > mBoundingSpheres; ///< Bounding spheres. xyz is the center and w is the radius Vector< TransformComponentAnimatable > mTxComponentAnimatableBaseValue; ///< Base values for the animatable part of the components @@ -390,6 +407,9 @@ private: Vector< bool > mComponentDirty; ///< 1u if some of the parts of the component has changed in this frame, 0 otherwise Vector< bool > mLocalMatrixDirty; ///< 1u if the local matrix has been updated in this frame, 0 otherwise Vector< SOrderItem > mOrderedComponents; ///< Used to reorder components when hierarchy changes + Vector< bool> mComponentChanged; ///< Component is changed or not + Vector< Vector3 > mUpdateSizeHint; ///< BoundingBox of the components + Vector< Vector3 > mUpdateSizeHintBase; ///< Base value for the boundingBox of the components bool mReorder; ///< Flag to determine if the components have to reordered in the next Update };