X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fmanager%2Ftransform-manager.cpp;h=651d23036b90962827dda91130dd90dfb33cd8b4;hb=b43741a90b40ca9dfbd33d6a9d390d3c09230e89;hp=b8626c79cb151b4acfb67f2e7a84ce588b8f0bf5;hpb=b89cdba6eca3fa6a3d0933b77837c51c803aa1ab;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 old mode 100644 new mode 100755 index b8626c7..651d230 --- a/dali/internal/update/manager/transform-manager.cpp +++ b/dali/internal/update/manager/transform-manager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -106,6 +106,10 @@ TransformId TransformManager::CreateTransform() mSizeBase.PushBack(Vector3(0.0f,0.0f,0.0f)); mComponentDirty.PushBack(false); mLocalMatrixDirty.PushBack(false); + mComponentChanged.PushBack(false); + mPrevWorld.PushBack(Matrix::IDENTITY); + mUpdateSizeHint.PushBack(Vector3(0.0f,0.0f,0.0f)); + mUpdateSizeHintBase.PushBack(Vector3(0.0f,0.0f,0.0f)); } else { @@ -123,6 +127,10 @@ TransformId TransformManager::CreateTransform() mSizeBase[mComponentCount] = Vector3(0.0f,0.0f,0.0f); mComponentDirty[mComponentCount] = false; mLocalMatrixDirty[mComponentCount] = false; + mComponentChanged[mComponentCount] = false; + mPrevWorld[mComponentCount].SetIdentity(); + mUpdateSizeHint[mComponentCount] = Vector3(0.0f,0.0f,0.0f); + mUpdateSizeHintBase[mComponentCount] = Vector3(0.0f,0.0f,0.0f); } mComponentCount++; @@ -133,7 +141,7 @@ void TransformManager::RemoveTransform(TransformId id) { //Move the last element to the gap mComponentCount--; - unsigned int index = mIds[id]; + TransformId index = mIds[id]; mTxComponentAnimatable[index] = mTxComponentAnimatable[mComponentCount]; mTxComponentStatic[index] = mTxComponentStatic[mComponentCount]; mInheritanceMode[index] = mInheritanceMode[mComponentCount]; @@ -146,6 +154,10 @@ void TransformManager::RemoveTransform(TransformId id) mComponentDirty[index] = mComponentDirty[mComponentCount]; mLocalMatrixDirty[index] = mLocalMatrixDirty[mComponentCount]; mBoundingSpheres[index] = mBoundingSpheres[mComponentCount]; + mComponentChanged[index] = mComponentChanged[mComponentCount]; + mPrevWorld[index] = mPrevWorld[mComponentCount]; + mUpdateSizeHint[index] = mUpdateSizeHint[mComponentCount]; + mUpdateSizeHintBase[index] = mUpdateSizeHintBase[mComponentCount]; TransformId lastItemId = mComponentId[mComponentCount]; mIds[ lastItemId ] = index; @@ -158,7 +170,7 @@ void TransformManager::RemoveTransform(TransformId id) void TransformManager::SetParent( TransformId id, TransformId parentId ) { DALI_ASSERT_ALWAYS( id != parentId ); - unsigned int index = mIds[id]; + TransformId index = mIds[id]; mParent[ index ] = parentId; mComponentDirty[ index ] = true; mReorder = true; @@ -176,7 +188,7 @@ Matrix& TransformManager::GetWorldMatrix( TransformId id ) void TransformManager::SetInheritPosition( TransformId id, bool inherit ) { - unsigned int index = mIds[id]; + TransformId index = mIds[id]; if( inherit ) { mInheritanceMode[ index ] |= INHERIT_POSITION; @@ -191,7 +203,7 @@ void TransformManager::SetInheritPosition( TransformId id, bool inherit ) void TransformManager::SetInheritScale( TransformId id, bool inherit ) { - unsigned int index = mIds[id]; + TransformId index = mIds[id]; if( inherit ) { mInheritanceMode[ index ] |= INHERIT_SCALE; @@ -206,7 +218,7 @@ void TransformManager::SetInheritScale( TransformId id, bool inherit ) void TransformManager::SetInheritOrientation( TransformId id, bool inherit ) { - unsigned int index = mIds[id]; + TransformId index = mIds[id]; if( inherit ) { mInheritanceMode[ index ] |= INHERIT_ORIENTATION; @@ -215,7 +227,6 @@ void TransformManager::SetInheritOrientation( TransformId id, bool inherit ) { mInheritanceMode[ index ] &= ~INHERIT_ORIENTATION; } - mComponentDirty[index] = true; } @@ -226,6 +237,7 @@ void TransformManager::ResetToBaseValue() memcpy( &mTxComponentAnimatable[0], &mTxComponentAnimatableBaseValue[0], sizeof(TransformComponentAnimatable)*mComponentCount ); memcpy( &mSize[0], &mSizeBase[0], sizeof(Vector3)*mComponentCount ); memset( &mLocalMatrixDirty[0], false, sizeof(bool)*mComponentCount ); + memcpy( &mUpdateSizeHint[0], &mUpdateSizeHintBase[0], sizeof(Vector3)*mComponentCount ); } } @@ -246,9 +258,11 @@ void TransformManager::Update() const Vector3 topLeft( 0.0f, 0.0f, 0.5f ); for( unsigned int i(0); i