12constexpr float kPi = 3.14159265358979323846f;
 
   13constexpr float kPi2 = kPi / 2.f;
 
   40  return -(p * (p - 2.f));
 
 
   47  return p < 0.5f ? 2.f * p * p : (-2.f * p * p) + (4.f * p) - 1.f;
 
 
   57  const float f = (p - 1.f);
 
   58  return f * f * f + 1.f;
 
 
   66    return 4.f * p * p * p;
 
   68  const float f = ((2.f * p) - 2.f);
 
   69  return 0.5f * f * f * f + 1.f;
 
 
   79  const float f = (p - 1.f);
 
   80  return f * f * f * (1.f - p) + 1.f;
 
 
   88    return 8.f * p * p * p * p;
 
   90  const float f = (p - 1.f);
 
   91  return -8.f * f * f * f * f + 1.f;
 
 
   96  return p * p * p * p * p;
 
 
  101  const float f = (p - 1.f);
 
  102  return f * f * f * f * f + 1.f;
 
 
  110    return 16.f * p * p * p * p * p;
 
  112  const float f = ((2.f * p) - 2.f);
 
  113  return 0.5f * f * f * f * f * f + 1.f;
 
 
  118  return std::sin((p - 1.f) * kPi2) + 1.f;
 
 
  123  return std::sin(p * kPi2);
 
 
  128  return 0.5f * (1.f - std::cos(p * kPi));
 
 
  133  return 1.f - std::sqrt(1.f - (p * p));
 
 
  138  return std::sqrt((2.f - p) * p);
 
 
  146    return 0.5f * (1.f - std::sqrt(1.f - 4.f * (p * p)));
 
  148  return 0.5f * (std::sqrt(-((2.f * p) - 3.f) * ((2.f * p) - 1.f)) + 1.f);
 
 
  153  return (p == 0.f) ? p : std::pow(2.f, 10.f * (p - 1.f));
 
 
  158  return (p == 1.f) ? p : 1.f - std::pow(2.f, -10.f * p);
 
 
  165  if (p == 0.f || p == 1.f) {
 
  170    return 0.5f * std::pow(2.f, (20.f * p) - 10.f);
 
  172  return -0.5f * std::pow(2.f, (-20.f * p) + 10.f) + 1.f;
 
 
  178  return std::sin(13.f * kPi2 * p) * std::pow(2.f, 10.f * (p - 1.f));
 
 
  185  return std::sin(-13.f * kPi2 * (p + 1.f)) * std::pow(2.f, -10.f * p) + 1.f;
 
 
  193    return 0.5f * std::sin(13.f * kPi2 * (2.f * p)) *
 
  194           std::pow(2.f, 10.f * ((2.f * p) - 1.f));
 
  196  return 0.5f * (std::sin(-13.f * kPi2 * ((2.f * p - 1.f) + 1.f)) *
 
  197                     std::pow(2.f, -10.f * (2.f * p - 1.f)) +
 
 
  203  return p * p * p - p * std::sin(p * kPi);
 
 
  208  const float f = (1.f - p);
 
  209  return 1.f - (f * f * f - f * std::sin(f * kPi));
 
 
  217    const float f = 2.f * p;
 
  218    return 0.5f * (f * f * f - f * std::sin(f * kPi));
 
  220  const float f = (1.f - (2.f * p - 1.f));
 
  221  return 0.5f * (1.f - (f * f * f - f * std::sin(f * kPi))) + 0.5f;
 
 
  229  if (p < 4.f / 11.f) {
 
  230    return (121.f * p * p) / 16.f;
 
  233  if (p < 8.f / 11.f) {
 
  234    return (363.f / 40.f * p * p) - (99.f / 10.f * p) + 17.f / 5.f;
 
  237  if (p < 9.f / 10.f) {
 
  238    return (4356.f / 361.f * p * p) - (35442.f / 1805.f * p) + 16061.f / 1805.f;
 
  241  return (54.f / 5.f * p * p) - (513 / 25.f * p) + 268 / 25.f;
 
 
  248  return 0.5f * 
BounceOut(p * 2.f - 1.f) + 0.5f;
 
 
  262      easing_function_(std::move(easing_function)),
 
 
  270  if (current_ >= duration_) {
 
  278    *value_ = from_ + (to_ - from_) * easing_function_(current_ / duration_);
 
 
Animator(float *from, float to=0.f, Duration duration=std::chrono::milliseconds(250), easing::Function easing_function=easing::Linear, Duration delay=std::chrono::milliseconds(0))
 
void OnAnimation(Params &)
 
Duration duration() const
The duration this animation step represents.
 
void RequestAnimationFrame()
RequestAnimationFrame is a function that requests a new frame to be drawn in the next animation cycle...
 
The FTXUI sf::animation::easing:: namespace.
 
float CircularInOut(float p)
 
float BounceInOut(float p)
 
float CubicInOut(float p)
 
float Linear(float p)
Modeled after the line y = x.
 
float CircularOut(float p)
 
float ExponentialInOut(float p)
 
float ElasticInOut(float p)
 
float QuarticInOut(float p)
 
float QuadraticInOut(float p)
 
float QuarticOut(float p)
 
float CircularIn(float p)
 
float ExponentialOut(float p)
 
float QuadraticOut(float p)
 
float QuinticOut(float p)
 
float QuadraticIn(float p)
Modeled after the parabola y = x^2.
 
float ExponentialIn(float p)
 
float ElasticOut(float p)
 
std::function< float(float)> Function
 
float QuinticInOut(float p)
 
The FTXUI ftxui::animation:: namespace.
 
std::chrono::duration< float > Duration