qreal value(qreal t) { qreal o = (_o < 0) ? 1.70158f : _o; switch(_t) { case In: return easeInBack(t, o); case Out: return easeOutBack(t, o); case InOut: return easeInOutBack(t, o); case OutIn: return easeOutInBack(t, o); default: return t; } }
double valueForProgress ( double a_fProgress ) const { double fOvershoot = (m_fOvershoot < 0) ? 1.70158 : m_fOvershoot; switch ( m_eType ) { case In: return easeInBack(a_fProgress, fOvershoot); case Out: return easeOutBack(a_fProgress, fOvershoot); case InOut: return easeInOutBack(a_fProgress, fOvershoot); case OutIn: return easeOutInBack(a_fProgress, fOvershoot); default: return a_fProgress; } }
static qreal easeOutInBack(qreal t) { const qreal s = 1.70158; return easeOutInBack(t, s); }