![]() |
1.11 |
Animation object with built in timer. More...
#include <animation.h>

Public Member Functions | |
| AutoAnimation (EasingScalar start, EasingScalar end, std::chrono::milliseconds duration, const EasingFunc &func=easing_linear, const AnimationCallback &callback=nullptr) | |
| AutoAnimation (std::chrono::milliseconds duration, const EasingFunc &func=easing_linear, const AnimationCallback &callback=nullptr) | |
| void | interval (std::chrono::milliseconds duration) |
| Change the interval of the internal timer. | |
| void | resume () override |
| Resume the animation from its current value. | |
| void | start () override |
| Start the animation from its start value. | |
| void | stop () override |
| Stop the animation. | |
Public Member Functions inherited from Animation | |
| Animation (EasingScalar start, EasingScalar end, const AnimationCallback &callback, std::chrono::milliseconds duration, EasingFunc func=easing_linear) | |
| EGT_NODISCARD EasingScalar | current () const |
| Get the current value. | |
| void | duration (std::chrono::milliseconds dur) |
| void | easing_func (EasingFunc func) |
| EGT_NODISCARD EasingScalar | ending () const |
| Get the ending value. | |
| void | ending (EasingScalar end) |
| bool | next () override |
| Periodic call to the animation. | |
| void | reverse (bool rev) |
| void | rounding (bool enable) |
| Should the value be rounded? | |
| EGT_NODISCARD EasingScalar | starting () const |
| Get the starting value. | |
| void | starting (EasingScalar start) |
Public Member Functions inherited from AnimationBase | |
| AnimationBase ()=default | |
| AnimationBase (AnimationBase &&) noexcept=default | |
| AnimationBase (const AnimationBase &)=delete | |
| virtual | ~AnimationBase () noexcept=default |
| void | add_callback (AnimationCallback callback) |
| Register a callback for the animation. | |
| void | clear_callbacks () |
| Clear all callbacks. | |
| AnimationBase & | operator= (AnimationBase &&) noexcept=default |
| AnimationBase & | operator= (const AnimationBase &)=delete |
| virtual EGT_NODISCARD bool | running () const |
| Returns true if the animation is currently running. | |
Protected Attributes | |
| PeriodicTimer | m_timer |
| Periodic timer used to run the animation. | |
Protected Attributes inherited from Animation | |
| EasingScalar | m_current {0} |
| Current value. | |
| std::chrono::milliseconds | m_duration {} |
| Duration of the animation. | |
| EasingFunc | m_easing {easing_linear} |
| Easing function. | |
| EasingScalar | m_elapsed {0} |
| Keep track of the progress of the animation. | |
| EasingScalar | m_end {0} |
| Ending value. | |
| std::chrono::time_point< std::chrono::steady_clock > | m_intermediate_time |
| Absolute time used to track the animation time elapsed. | |
| bool | m_reverse {false} |
| Is the animation running in reverse. | |
| bool | m_round {false} |
| Should the dispatched value be rounded? | |
| EasingScalar | m_start {0} |
| Starting value. | |
Protected Attributes inherited from AnimationBase | |
| std::vector< AnimationCallback > | m_callbacks |
| Registered callbacks for the animation. | |
| bool | m_running {false} |
| The running state of the animation. | |
Animation object with built in timer.
An Animation usually involves setting up a timer to run the animation at a periodic interval. This wraps an animation around a built in timer to run the animation.
| AutoAnimation | ( | EasingScalar | start, |
| EasingScalar | end, | ||
| std::chrono::milliseconds | duration, | ||
| const EasingFunc & | func = easing_linear, |
||
| const AnimationCallback & | callback = nullptr |
||
| ) |
| [in] | start | The starting value of the animation. |
| [in] | end | The ending value of the animation. |
| [in] | duration | The duration of the animation. |
| [in] | func | The easing function to use. |
| [in] | callback | Called whenever the animation value changes. May be nullptr. |
|
explicit |
| [in] | duration | The duration of the animation. |
| [in] | func | The easing function to use. |
| [in] | callback | Called whenever the animation value changes. May be nullptr. |
| void interval | ( | std::chrono::milliseconds | duration | ) |
Change the interval of the internal timer.
The internal timer defaults to an interval of 30ms. See Timer::change_duration() for more information on the ramifications of making this change on a running timer.
|
overridevirtual |
Resume the animation from its current value.
Reimplemented from Animation.
|
overridevirtual |
Start the animation from its start value.
Reimplemented from Animation.
|
overridevirtual |
Stop the animation.
Reimplemented from Animation.
|
protected |
Periodic timer used to run the animation.