[Tizen](Partial Update) Set the updated flag when the Renderer is added/removed
[platform/core/uifw/dali-core.git] / dali / internal / update / nodes / node.cpp
index 662f3e7..60f1c44 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
@@ -101,7 +101,8 @@ Node::Node()
   mClippingMode(ClippingMode::DISABLED),
   mIsRoot(false),
   mIsLayer(false),
-  mPositionUsesAnchorPoint(true)
+  mPositionUsesAnchorPoint(true),
+  mTransparent(false)
 {
   mUniformMapChanged[0] = 0u;
   mUniformMapChanged[1] = 0u;
@@ -138,7 +139,7 @@ void Node::CreateTransform(SceneGraph::TransformManager* transformManager)
 {
   //Create a new transform
   mTransformManagerData.mManager = transformManager;
-  mTransformManagerData.mId      = transformManager->CreateTransform();
+  TransformId createdTransformId = transformManager->CreateTransform();
 
   //Initialize all the animatable properties
   mPosition.Initialize(&mTransformManagerData);
@@ -155,7 +156,10 @@ void Node::CreateTransform(SceneGraph::TransformManager* transformManager)
   mWorldMatrix.Initialize(&mTransformManagerData);
 
   //Set whether the position should use the anchor point
-  transformManager->SetPositionUsesAnchorPoint(mTransformManagerData.Id(), mPositionUsesAnchorPoint);
+  transformManager->SetPositionUsesAnchorPoint(createdTransformId, mPositionUsesAnchorPoint);
+
+  //Set TransformId after initialize done.
+  mTransformManagerData.mId = createdTransformId;
 }
 
 void Node::SetRoot(bool isRoot)
@@ -277,6 +281,8 @@ void Node::AddRenderer(Renderer* renderer)
     }
   }
 
+  SetUpdated(true);
+
   mRenderer.PushBack(renderer);
 }
 
@@ -287,6 +293,7 @@ void Node::RemoveRenderer(const Renderer* renderer)
   {
     if(mRenderer[i] == renderer)
     {
+      SetUpdated(true);
       mRenderer.Erase(mRenderer.Begin() + i);
       return;
     }