| #include "rive/artboard_component_list.hpp" | |
| #include "rive/component.hpp" | |
| #include "rive/constraints/layout_constraint.hpp" | |
| #include "rive/layout_component.hpp" | |
| #include "rive/layout/layout_node_provider.hpp" | |
| #include "rive/nested_artboard_layout.hpp" | |
| using namespace rive; | |
| LayoutNodeProvider* LayoutNodeProvider::from(Component* component) | |
| { | |
| switch (component->coreType()) | |
| { | |
| case LayoutComponent::typeKey: | |
| return component->as<LayoutComponent>(); | |
| case NestedArtboardLayout::typeKey: | |
| return component->as<NestedArtboardLayout>(); | |
| case ArtboardComponentListBase::typeKey: | |
| return component->as<ArtboardComponentList>(); | |
| } | |
| return nullptr; | |
| } | |
| void LayoutNodeProvider::addLayoutConstraint(LayoutConstraint* constraint) | |
| { | |
| assert(std::find(m_layoutConstraints.begin(), | |
| m_layoutConstraints.end(), | |
| constraint) == m_layoutConstraints.end()); | |
| m_layoutConstraints.push_back(constraint); | |
| constraint->addLayoutChild(this); | |
| } |