Loading...
Searching...
No Matches
ml::Tweener< T > Class Template Reference

A single delta-time value animation. More...

#include <Malena/Animation/Tweener.h>

Public Member Functions

 Tweener ()=default
 Tweener (T from, T to, float duration, Easing::Fn easing=Easing::Linear)
void complete ()
 Jump to the end immediately, firing onUpdate(end) + onComplete once.
Tweenerdelay (float seconds)
bool done () const
Tweenereasing (Easing::Fn fn)
Tweenerloop (bool on=true)
TweeneronComplete (std::function< void()> cb)
TweeneronUpdate (std::function< void(const T &)> cb)
TweenerpingPong (bool on=true)
void stop ()
 Stop where it is — no onComplete. (Used by cancel paths.).
void update (float dt)
 Advance by dt seconds. Safe to keep calling after completion (no-op).
const T & value () const

Detailed Description

template<class T>
class ml::Tweener< T >

A single delta-time value animation.

Drive it by calling update(dt) each frame with the elapsed seconds. The interpolated value is delivered through onUpdate; onComplete fires once when a non-looping tween finishes. Timing is real-time (seconds), so animation speed is independent of framerate.

t.onUpdate([&](const sf::Vector2f& p){ sprite.setPosition(p); });
// each frame:
t.update(dt);
Tweener()=default
Vector2< float > Vector2f
static float EaseOutCubic(float t)
Definition Easing.h:50
Template Parameters
TA type with a detail::lerp overload (float, Vector2f, Color).

Definition at line 66 of file Tweener.h.

Constructor & Destructor Documentation

◆ Tweener() [1/2]

template<class T>
ml::Tweener< T >::Tweener ( )
default

◆ Tweener() [2/2]

template<class T>
ml::Tweener< T >::Tweener ( T from,
T to,
float duration,
Easing::Fn easing = Easing::Linear )
inline

Definition at line 71 of file Tweener.h.

Member Function Documentation

◆ complete()

template<class T>
void ml::Tweener< T >::complete ( )
inline

Jump to the end immediately, firing onUpdate(end) + onComplete once.

Definition at line 119 of file Tweener.h.

◆ delay()

template<class T>
Tweener & ml::Tweener< T >::delay ( float seconds)
inline

Definition at line 77 of file Tweener.h.

◆ done()

template<class T>
bool ml::Tweener< T >::done ( ) const
inlinenodiscard

Definition at line 130 of file Tweener.h.

◆ easing()

template<class T>
Tweener & ml::Tweener< T >::easing ( Easing::Fn fn)
inline

Definition at line 78 of file Tweener.h.

◆ loop()

template<class T>
Tweener & ml::Tweener< T >::loop ( bool on = true)
inline

Definition at line 79 of file Tweener.h.

◆ onComplete()

template<class T>
Tweener & ml::Tweener< T >::onComplete ( std::function< void()> cb)
inline

Definition at line 82 of file Tweener.h.

◆ onUpdate()

template<class T>
Tweener & ml::Tweener< T >::onUpdate ( std::function< void(const T &)> cb)
inline

Definition at line 81 of file Tweener.h.

◆ pingPong()

template<class T>
Tweener & ml::Tweener< T >::pingPong ( bool on = true)
inline

Definition at line 80 of file Tweener.h.

◆ stop()

template<class T>
void ml::Tweener< T >::stop ( )
inline

Stop where it is — no onComplete. (Used by cancel paths.).

Definition at line 128 of file Tweener.h.

◆ update()

template<class T>
void ml::Tweener< T >::update ( float dt)
inline

Advance by dt seconds. Safe to keep calling after completion (no-op).

Definition at line 86 of file Tweener.h.

◆ value()

template<class T>
const T & ml::Tweener< T >::value ( ) const
inlinenodiscard

Definition at line 131 of file Tweener.h.


The documentation for this class was generated from the following file: