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