| #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)); | |
| } |