| #include <sstream> | |
| #include <iomanip> | |
| #include <array> | |
| #include "rive/viewmodel/viewmodel.hpp" | |
| #include "rive/viewmodel/viewmodel_property.hpp" | |
| #include "rive/backboard.hpp" | |
| #include "rive/importers/backboard_importer.hpp" | |
| using namespace rive; | |
| void ViewModel::addProperty(ViewModelProperty* property) { m_Properties.push_back(property); } | |
| ViewModelProperty* ViewModel::property(size_t index) | |
| { | |
| if (index < m_Properties.size()) | |
| { | |
| return m_Properties[index]; | |
| } | |
| return nullptr; | |
| } | |
| ViewModelProperty* ViewModel::property(const std::string& name) | |
| { | |
| for (auto property : m_Properties) | |
| { | |
| if (property->name() == name) | |
| { | |
| return property; | |
| } | |
| } | |
| return nullptr; | |
| } | |
| void ViewModel::addInstance(ViewModelInstance* value) | |
| { | |
| m_Instances.push_back(value); | |
| value->viewModel(this); | |
| } | |
| ViewModelInstance* ViewModel::defaultInstance() { return m_Instances[defaultInstanceId()]; } | |
| ViewModelInstance* ViewModel::instance(size_t index) | |
| { | |
| if (index < m_Instances.size()) | |
| { | |
| return m_Instances[index]; | |
| } | |
| return nullptr; | |
| } | |
| ViewModelInstance* ViewModel::instance(const std::string& name) | |
| { | |
| for (auto instance : m_Instances) | |
| { | |
| if (instance->name() == name) | |
| { | |
| return instance; | |
| } | |
| } | |
| return nullptr; | |
| } |