blob: 4c66f29cf47d656aa0acd532659bed24930a9d36 [file]
#include "rive/animation/keyframe_bool.hpp"
#include "rive/generated/core_registry.hpp"
#include "rive/animation/linear_animation_instance.hpp"
#include "rive/data_bind/bindable_property_boolean.hpp"
using namespace rive;
bool KeyFrameBool::effectiveValue(const LinearAnimationInstance* context) const
{
if (context != nullptr)
{
if (auto* holder = context->keyFrameValueHolder(this))
{
return holder->as<BindablePropertyBoolean>()->propertyValue();
}
}
return value();
}
void KeyFrameBool::apply(
Core* object,
int propertyKey,
float mix,
const LinearAnimationInstance* context)
{
CoreRegistry::setBool(object, propertyKey, effectiveValue(context));
}
void KeyFrameBool::applyInterpolation(
Core* object,
int propertyKey,
float currentTime,
const KeyFrame* nextFrame,
float mix,
const LinearAnimationInstance* context)
{
CoreRegistry::setBool(object, propertyKey, effectiveValue(context));
}