X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fnodes%2Fnode.h;h=75c08a052bc645834d3fdfea40bc8a0a656952c0;hb=857999ccc4786403ee174a361a5d3d7e250435b7;hp=6f6e68164e4c160780049aa7400f1b7ff0d1a04d;hpb=857fd25758640139ac4d2e93355917e204a53041;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/nodes/node.h b/dali/internal/update/nodes/node.h index 6f6e681..75c08a0 100644 --- a/dali/internal/update/nodes/node.h +++ b/dali/internal/update/nodes/node.h @@ -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; + + // 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;