blob: f3345f98c9256368321a084bcee48993c69ffe82 [file] [log] [blame]
#include <sstream>
#include <iomanip>
#include <array>
#include "rive/viewmodel/viewmodel_instance.hpp"
#include "rive/viewmodel/viewmodel_instance_value.hpp"
#include "rive/importers/viewmodel_instance_importer.hpp"
#include "rive/data_bind/data_bind.hpp"
#include "rive/refcnt.hpp"
using namespace rive;
StatusCode ViewModelInstanceValue::import(ImportStack& importStack)
{
auto viewModelInstanceImporter =
importStack.latest<ViewModelInstanceImporter>(
ViewModelInstance::typeKey);
if (viewModelInstanceImporter == nullptr)
{
return StatusCode::MissingObject;
}
viewModelInstanceImporter->addValue(this);
return Super::import(importStack);
}
void ViewModelInstanceValue::viewModelProperty(ViewModelProperty* value)
{
m_ViewModelProperty = value;
}
ViewModelProperty* ViewModelInstanceValue::viewModelProperty()
{
return m_ViewModelProperty;
}
void ViewModelInstanceValue::addDependent(Dirtyable* value)
{
m_DependencyHelper.addDependent(value);
}
void ViewModelInstanceValue::removeDependent(Dirtyable* value)
{
m_DependencyHelper.removeDependent(value);
}
void ViewModelInstanceValue::addDirt(ComponentDirt value)
{
m_DependencyHelper.addDirt(value);
}
void ViewModelInstanceValue::setRoot(rcp<ViewModelInstance> viewModelInstance)
{
m_DependencyHelper.dependecyRoot(&viewModelInstance);
}
std::string ViewModelInstanceValue::defaultName = "";
const std::string& ViewModelInstanceValue::name() const
{
if (m_ViewModelProperty != nullptr)
{
return m_ViewModelProperty->constName();
};
return defaultName;
}
void ViewModelInstanceValue::advanced()
{
m_usedLayers.clear();
m_hasChanged = false;
};