Expose name on instances
diff --git a/include/rive/animation/linear_animation_instance.hpp b/include/rive/animation/linear_animation_instance.hpp index a1ec2ab..d03b8db 100644 --- a/include/rive/animation/linear_animation_instance.hpp +++ b/include/rive/animation/linear_animation_instance.hpp
@@ -68,6 +68,7 @@ uint32_t duration() const; float speed() const; float startSeconds() const; + std::string name() const; // Returns either the animation's default or overridden loop values Loop loop() { return (Loop)loopValue(); }
diff --git a/include/rive/animation/state_machine_instance.hpp b/include/rive/animation/state_machine_instance.hpp index e9c8c33..2226ef9 100644 --- a/include/rive/animation/state_machine_instance.hpp +++ b/include/rive/animation/state_machine_instance.hpp
@@ -52,6 +52,8 @@ SMINumber* getNumber(std::string name) const; SMITrigger* getTrigger(std::string name) const; + std::string name() const; + const size_t currentAnimationCount() const; const LinearAnimationInstance* currentAnimationByIndex(size_t index) const;
diff --git a/src/animation/linear_animation_instance.cpp b/src/animation/linear_animation_instance.cpp index f781cc2..4e6e987 100644 --- a/src/animation/linear_animation_instance.cpp +++ b/src/animation/linear_animation_instance.cpp
@@ -122,6 +122,10 @@ float LinearAnimationInstance::startSeconds() const { return m_Animation->startSeconds(); } +std::string LinearAnimationInstance::name() const { + return m_Animation->name(); +} + // Returns either the animation's default or overridden loop values int LinearAnimationInstance::loopValue() { if (m_LoopValue != -1) {
diff --git a/src/animation/state_machine_instance.cpp b/src/animation/state_machine_instance.cpp index 928ad49..1176c6c 100644 --- a/src/animation/state_machine_instance.cpp +++ b/src/animation/state_machine_instance.cpp
@@ -279,6 +279,10 @@ void StateMachineInstance::markNeedsAdvance() { m_NeedsAdvance = true; } bool StateMachineInstance::needsAdvance() const { return m_NeedsAdvance; } +std::string StateMachineInstance::name() const { + return m_Machine->name(); +} + SMIInput* StateMachineInstance::input(size_t index) const { if (index < m_InputCount) { return m_InputInstances[index];