blob: b7b708b082abd71f0c258542eebeca37824f2555 [file] [log] [blame]
#include "rive/data_bind/context/context_value_boolean.hpp"
#include "rive/generated/core_registry.hpp"
using namespace rive;
DataBindContextValueBoolean::DataBindContextValueBoolean(ViewModelInstanceValue* value)
{
m_Source = value;
m_Value = m_Source->as<ViewModelInstanceBoolean>()->propertyValue();
}
void DataBindContextValueBoolean::apply(Core* target, uint32_t propertyKey)
{
CoreRegistry::setBool(target,
propertyKey,
m_Source->as<ViewModelInstanceBoolean>()->propertyValue());
}
void DataBindContextValueBoolean::applyToSource(Core* target, uint32_t propertyKey)
{
auto value = CoreRegistry::getBool(target, propertyKey);
if (m_Value != value)
{
m_Value = value;
m_Source->as<ViewModelInstanceBoolean>()->propertyValue(value);
}
}