1 #ifndef _RIVE_STATE_INSTANCE_HPP_
2 #define _RIVE_STATE_INSTANCE_HPP_
6 #include "rive/rive_types.hpp"
7 #include "rive/span.hpp"
12 class ArtboardInstance;
14 /// Represents an instance of a state tracked by the State Machine.
17 const LayerState* m_LayerState;
20 StateInstance(const LayerState* layerState);
21 virtual ~StateInstance();
22 virtual void advance(float seconds, Span<SMIInput*> inputs) = 0;
23 virtual void apply(float mix) = 0;
25 /// Returns true when the State Machine needs to keep advancing this
27 virtual bool keepGoing() const = 0;
29 const LayerState* state() const;