[Tizen] Add temporaty log to node
[platform/core/uifw/dali-core.git] / dali / internal / update / nodes / node.h
index 6f6e681..75c08a0 100644 (file)
@@ -122,13 +122,13 @@ public:
    * @param[in] updated The updated flag
    * (used for partial rendering to mark an animating sub tree for example).
    */
-  void SetUpdated(bool updated) override
+  void SetUpdatedTree(bool updated)
   {
     mUpdated = updated;
 
     for(Node* child : mChildren)
     {
-      child->SetUpdated(updated);
+      child->SetUpdatedTree(updated);
     }
   }
 
@@ -622,6 +622,9 @@ public:
   {
     if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
     {
+      DALI_LOG_RELEASE_INFO("id = %d, data = %p, manager = %p, id = %d, mSize data = %p, index = %x\n",
+                            mId, &mTransformManagerData, mTransformManagerData.mManager, mTransformManagerData.mId, mSize.mTxManagerData, mDepthIndex);
+
       return mSize.Get(0);
     }
 
@@ -725,6 +728,16 @@ public:
     return mDrawMode;
   }
 
+  void SetTransparent(bool transparent)
+  {
+    mTransparent = transparent;
+  }
+
+  bool IsTransparent() const
+  {
+    return mTransparent;
+  }
+
   /*
    * Returns the transform id of the node
    * @return The transform component id of the node
@@ -954,6 +967,7 @@ protected:
   bool               mIsRoot : 1;                  ///< True if the node cannot have a parent
   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               mTransparent : 1;             ///< True if this node is transparent. This value do not affect children.
 
   // Changes scope, should be at end of class
   DALI_LOG_OBJECT_STRING_DECLARATION;
@@ -1038,6 +1052,17 @@ inline void SetDrawModeMessage(EventThreadServices& eventThreadServices, const N
   new(slot) LocalType(&node, &Node::SetDrawMode, drawMode);
 }
 
+inline void SetTransparentMessage(EventThreadServices& eventThreadServices, const Node& node, bool transparent)
+{
+  using LocalType = MessageValue1<Node, bool>;
+
+  // Reserve some memory inside the message queue
+  uint32_t* slot = eventThreadServices.ReserveMessageSlot(sizeof(LocalType));
+
+  // Construct message in the message queue memory; note that delete should not be called on the return value
+  new(slot) LocalType(&node, &Node::SetTransparent, transparent);
+}
+
 inline void DetachRendererMessage(EventThreadServices& eventThreadServices, const Node& node, const Renderer& renderer)
 {
   using LocalType = MessageValue1<Node, const Renderer*>;