blob: 78f2fb7bc87fa9cbf15b6a29d442c3f751683d8f [file]
#include <sstream>
#include <iomanip>
#include <array>
#include "rive/viewmodel/viewmodel_instance_enum.hpp"
#include "rive/viewmodel/viewmodel_property_enum.hpp"
#include "rive/component_dirt.hpp"
using namespace rive;
void ViewModelInstanceEnum::propertyValueChanged()
{
addDirt(ComponentDirt::Bindings);
#ifdef WITH_RIVE_TOOLS
if (m_changedCallback != nullptr)
{
m_changedCallback(this, propertyValue());
}
#endif
onValueChanged();
}
bool ViewModelInstanceEnum::value(std::string name)
{
auto enumProperty = viewModelProperty()->as<ViewModelPropertyEnum>();
int index = enumProperty->valueIndex(name);
if (index != -1)
{
propertyValue(index);
return true;
}
return false;
}
bool ViewModelInstanceEnum::value(uint32_t index)
{
auto enumProperty = viewModelProperty()->as<ViewModelPropertyEnum>();
if (enumProperty->valueIndex(index) != -1)
{
propertyValue(index);
return true;
}
return false;
}
void ViewModelInstanceEnum::applyValue(DataValueInteger* dataValue)
{
propertyValue(dataValue->value());
}