GA::kit v0.3
G&A's in-house C++ application framework
Loading...
Searching...
No Matches
ga::Tween< T > Class Template Reference

#include <tween.h>

Inheritance diagram for ga::Tween< T >:
ga::TweenBase ga::Timer

Public Member Functions

 Tween (const T &startVal, const T &endVal, std::function< float(float)> easeFn)
 
 Tween (const T &startVal, const T &endVal, std::function< float(float)> easeFn, std::function< void()> onDone)
 
 Tween ()
 
Tweenset (const T &startVal, const T &endVal, std::function< float(float)> easeFn, std::function< void()> onDone=nullptr)
 
TweensetStartVal (const T &startVal)
 
TweensetEndVal (const T &endVal)
 
TweensetEaseFn (ga::EaseType easeFnType)
 
TweensetEaseFn (std::function< float(float)> easeFn)
 
TweensetOnDone (std::function< void()> onDone)
 
Tweenbind (T *ptr)
 
Tweenunbind ()
 
const T & getStartVal () const
 
const T & getEndVal () const
 
const T & getValue () const
 
virtual void startNow () override
 
virtual void startNow (long durationMillis) override
 
void startAfterDelay (long delayMs, long durationMs)
 
const T & update ()
 
const T & endNow (bool fireCallback=true)
 
- Public Member Functions inherited from ga::TweenBase
virtual ~TweenBase ()=default
 
void setName (const std::string &name)
 
const std::string & getName ()
 
- Public Member Functions inherited from ga::Timer
 Timer ()
 
virtual void setStart (const TimePoint &time)
 
virtual void setEnd (const TimePoint &time)
 
virtual void set (const TimePoint &start, const TimePoint &end)
 
virtual void clear ()
 
virtual void startNow ()
 
virtual void startNow (long durationMillis)
 
virtual const TimePointgetStart () const
 
virtual const TimePointgetEnd () const
 
virtual bool hasStart ()
 
virtual bool hasEnd ()
 
virtual bool isSet ()
 
virtual bool isStarted ()
 
virtual bool isDone ()
 
virtual bool isActive ()
 
double duration ()
 
double elapsedMillis ()
 
double elapsedSeconds ()
 
double elapsedPercent ()
 

Protected Member Functions

bool updateBoundPtr ()
 
void end (bool fireCallback=true) override
 
bool update_ () override
 
bool isDone_ () override
 
bool isStarted_ () override
 
virtual bool update_ ()=0
 
virtual bool isDone_ ()=0
 
virtual bool isStarted_ ()=0
 
virtual void end (bool fireCallback)=0
 

Protected Attributes

m_val
 
m_startVal
 
m_endVal
 
std::function< float(float)> m_easeFn
 
ga::EaseType m_easeFnType
 
std::function< void()> m_onDone
 
T * m_boundPtr
 
- Protected Attributes inherited from ga::TweenBase
std::string m_name = ""
 
- Protected Attributes inherited from ga::Timer
TimePoint mBegin_t
 
TimePoint mEnd_t
 

Friends

class Timeline
 

Constructor & Destructor Documentation

◆ Tween() [1/3]

template<typename T >
ga::Tween< T >::Tween ( const T &  startVal,
const T &  endVal,
std::function< float(float)>  easeFn 
)
inline

◆ Tween() [2/3]

template<typename T >
ga::Tween< T >::Tween ( const T &  startVal,
const T &  endVal,
std::function< float(float)>  easeFn,
std::function< void()>  onDone 
)
inline

◆ Tween() [3/3]

template<typename T >
ga::Tween< T >::Tween ( )
inline

Member Function Documentation

◆ bind()

template<typename T >
Tween & ga::Tween< T >::bind ( T *  ptr)
inline

◆ end()

template<typename T >
void ga::Tween< T >::end ( bool  fireCallback = true)
inlineoverrideprotectedvirtual

Implements ga::TweenBase.

◆ endNow()

template<typename T >
const T & ga::Tween< T >::endNow ( bool  fireCallback = true)
inline

◆ getEndVal()

template<typename T >
const T & ga::Tween< T >::getEndVal ( ) const
inline

◆ getStartVal()

template<typename T >
const T & ga::Tween< T >::getStartVal ( ) const
inline

◆ getValue()

template<typename T >
const T & ga::Tween< T >::getValue ( ) const
inline

◆ isDone_()

template<typename T >
bool ga::Tween< T >::isDone_ ( )
inlineoverrideprotectedvirtual

Implements ga::TweenBase.

◆ isStarted_()

template<typename T >
bool ga::Tween< T >::isStarted_ ( )
inlineoverrideprotectedvirtual

Implements ga::TweenBase.

◆ set()

template<typename T >
Tween & ga::Tween< T >::set ( const T &  startVal,
const T &  endVal,
std::function< float(float)>  easeFn,
std::function< void()>  onDone = nullptr 
)
inline

◆ setEaseFn() [1/2]

template<typename T >
Tween & ga::Tween< T >::setEaseFn ( ga::EaseType  easeFnType)
inline

◆ setEaseFn() [2/2]

template<typename T >
Tween & ga::Tween< T >::setEaseFn ( std::function< float(float)>  easeFn)
inline

◆ setEndVal()

template<typename T >
Tween & ga::Tween< T >::setEndVal ( const T &  endVal)
inline

◆ setOnDone()

template<typename T >
Tween & ga::Tween< T >::setOnDone ( std::function< void()>  onDone)
inline

◆ setStartVal()

template<typename T >
Tween & ga::Tween< T >::setStartVal ( const T &  startVal)
inline

◆ startAfterDelay()

template<typename T >
void ga::Tween< T >::startAfterDelay ( long  delayMs,
long  durationMs 
)
inline

◆ startNow() [1/2]

template<typename T >
virtual void ga::Tween< T >::startNow ( )
inlineoverridevirtual

Reimplemented from ga::Timer.

◆ startNow() [2/2]

template<typename T >
virtual void ga::Tween< T >::startNow ( long  durationMillis)
inlineoverridevirtual

Reimplemented from ga::Timer.

◆ unbind()

template<typename T >
Tween & ga::Tween< T >::unbind ( )
inline

◆ update()

template<typename T >
const T & ga::Tween< T >::update ( )
inline

◆ update_()

template<typename T >
bool ga::Tween< T >::update_ ( )
inlineoverrideprotectedvirtual

Implements ga::TweenBase.

◆ updateBoundPtr()

template<typename T >
bool ga::Tween< T >::updateBoundPtr ( )
inlineprotected

Friends And Related Function Documentation

◆ Timeline

template<typename T >
friend class Timeline
friend

Member Data Documentation

◆ m_boundPtr

template<typename T >
T* ga::Tween< T >::m_boundPtr
protected

◆ m_easeFn

template<typename T >
std::function<float( float )> ga::Tween< T >::m_easeFn
protected

◆ m_easeFnType

template<typename T >
ga::EaseType ga::Tween< T >::m_easeFnType
protected

◆ m_endVal

template<typename T >
T ga::Tween< T >::m_endVal
protected

◆ m_onDone

template<typename T >
std::function<void()> ga::Tween< T >::m_onDone
protected

◆ m_startVal

template<typename T >
T ga::Tween< T >::m_startVal
protected

◆ m_val

template<typename T >
T ga::Tween< T >::m_val
protected

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