blob: 3d9ecfa28ce0554f94fce9322716d1ed7e6efe73 [file] [log] [blame]
#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;
}