![]() |
1.11 |
Animates a property of a widget. More...
#include <animation.h>

Public Types | |
| using | PropertyCallback = std::function< void(T v)> |
| Property callback type. | |
| using | Value = T |
| Alias for the value type of the animator. | |
Public Member Functions | |
| PropertyAnimatorType (std::chrono::milliseconds duration, const EasingFunc &func=easing_linear) | |
| PropertyAnimatorType (T start=T(), T end=T(), std::chrono::milliseconds duration=std::chrono::milliseconds(), const EasingFunc &func=easing_linear) | |
| void | clear_change_callbacks () |
| Clear all callbacks. | |
| void | on_change (PropertyCallback callback) |
| Register a callback handler for when the value changes. | |
Public Member Functions inherited from AutoAnimation | |
| 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 Types | |
| using | CallbackArray = std::vector< PropertyCallback > |
| Property callback array type. | |
Protected Member Functions | |
| void | invoke_handlers (T value) |
| Invoke handlers with the specified value. | |
Protected Attributes | |
| CallbackArray | m_callbacks |
| Registered callbacks for the animation. | |
Protected Attributes inherited from AutoAnimation | |
| 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. | |
Animates a property of a widget.
This as a utility class that makes animating a specific property of a widget easier. Any property that matches PropertyAnimator::property_callback_t can be used.
|
protected |
Property callback array type.
| using PropertyCallback = std::function<void (T v)> |
Property callback type.
| using Value = T |
Alias for the value type of the animator.
|
inlineexplicit |
| [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. |
|
inlineexplicit |
| [in] | duration | The duration of the animation. |
| [in] | func | The easing function to use. |
|
inline |
Clear all callbacks.
|
inlineprotected |
Invoke handlers with the specified value.
|
inline |
Register a callback handler for when the value changes.
| [in] | callback | The callback function to invoke. |
|
protected |
Registered callbacks for the animation.