X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fmanager%2Ftransform-manager.cpp;h=d61acc2a7a60cc5ba7b7c1f79e5c15a31abff45c;hb=dc067f01c4ad59a9362640d8c48d1c81a7874a03;hp=bde727d6156097043ff7438ef44a009d8c9e790b;hpb=3a2b78ecc41aa6540a2dab9de7f74efd8aad47b0;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/manager/transform-manager.cpp b/dali/internal/update/manager/transform-manager.cpp index bde727d..d61acc2 100644 --- a/dali/internal/update/manager/transform-manager.cpp +++ b/dali/internal/update/manager/transform-manager.cpp @@ -285,6 +285,8 @@ bool TransformManager::Update() localOrientation = parentOrientation * mTxComponentAnimatable[i].mOrientation; } + Matrix localMatrix = mLocal[i]; + if((mInheritanceMode[i] & INHERIT_POSITION) == 0) { //Don't inherit position @@ -301,16 +303,17 @@ bool TransformManager::Update() Matrix::Multiply(mWorld[i], mLocal[i], parentMatrix); } - mLocalMatrixDirty[i] = true; + mLocalMatrixDirty[i] = (localMatrix != mLocal[i]); } } else //Component has no parent or doesn't inherit transform { + Matrix localMatrix = mLocal[i]; CalculateCenterPosition(centerPosition, mTxComponentStatic[i], mTxComponentAnimatable[i], mSize[i], half, topLeft); localPosition = mTxComponentAnimatable[i].mPosition + centerPosition; mLocal[i].SetTransformComponents(mTxComponentAnimatable[i].mScale, mTxComponentAnimatable[i].mOrientation, localPosition); mWorld[i] = mLocal[i]; - mLocalMatrixDirty[i] = true; + mLocalMatrixDirty[i] = (localMatrix != mLocal[i]); } //Update the bounding sphere