YogaLayoutableShadowNode::YogaLayoutableShadowNode( const SharedYogaStylableProps &props, const SharedShadowNodeSharedList &children ): yogaNode_({}) { assert(props); assert(children); yogaNode_.setConfig(suitableYogaConfig().get()); yogaNode_.setStyle(props->yogaStyle); yogaNode_.setContext(this); yogaNode_.setDirty(true); YogaLayoutableShadowNode::setYogaNodeChildrenBasedOnShadowNodeChildren(&yogaNode_, children); }
YogaLayoutableShadowNode::YogaLayoutableShadowNode( const SharedYogaStylableProps &props, const SharedShadowNodeSharedList &children ) { assert(props); assert(children); auto yogaNode = std::make_shared<YGNode>(); yogaNode->setConfig(suitableYogaConfig().get()); yogaNode->setStyle(props->getYogaStyle()); yogaNode->setContext(this); yogaNode->markDirtyAndPropogate(); YogaLayoutableShadowNode::setYogaNodeChildrenBasedOnShadowNodeChildren(*yogaNode, children); yogaNode_ = yogaNode; }
YogaLayoutableShadowNode::YogaLayoutableShadowNode( const SharedYogaLayoutableShadowNode &shadowNode, const SharedYogaStylableProps &props, const SharedShadowNodeSharedList &children ): yogaNode_(shadowNode->yogaNode_) { yogaNode_.setConfig(suitableYogaConfig().get()); yogaNode_.setContext(this); yogaNode_.setOwner(nullptr); yogaNode_.setDirty(true); if (props) { yogaNode_.setStyle(props->yogaStyle); } if (children) { YogaLayoutableShadowNode::setYogaNodeChildrenBasedOnShadowNodeChildren(&yogaNode_, children); } }