| #include "rive/artboard.hpp" |
| #include "rive/animation/blend_state_transition.hpp" |
| #include "rive/animation/blend_state_instance.hpp" |
| #include "rive/animation/blend_state_1d.hpp" |
| #include "rive/animation/blend_state_direct.hpp" |
| #include "rive/animation/blend_state_1d_instance.hpp" |
| #include "rive/animation/blend_state_direct_instance.hpp" |
| |
| using namespace rive; |
| |
| const LinearAnimationInstance* |
| BlendStateTransition::exitTimeAnimationInstance(const StateInstance* from) const { |
| if (from != nullptr) { |
| switch (from->state()->coreType()) { |
| case BlendState1D::typeKey: |
| |
| return static_cast<const BlendState1DInstance*>(from)->animationInstance( |
| m_ExitBlendAnimation); |
| |
| case BlendStateDirect::typeKey: |
| |
| return static_cast<const BlendStateDirectInstance*>(from)->animationInstance( |
| m_ExitBlendAnimation); |
| } |
| } |
| |
| return nullptr; |
| } |
| |
| const LinearAnimation* BlendStateTransition::exitTimeAnimation(const LayerState* from) const { |
| if (m_ExitBlendAnimation != nullptr) { |
| return m_ExitBlendAnimation->animation(); |
| } |
| return nullptr; |
| } |