Loading...
Searching...
No Matches
ml::Easing Struct Reference

Easing curves for animation, as pure functions of normalized time. More...

#include <Malena/Animation/Easing.h>

Public Types

using Fn = float (*)(float)

Static Public Member Functions

static float EaseInBack (float t)
static float EaseInBounce (float t)
static float EaseInCirc (float t)
static float EaseInCubic (float t)
static float EaseInElastic (float t)
static float EaseInExpo (float t)
static float EaseInOutBack (float t)
static float EaseInOutBounce (float t)
static float EaseInOutCirc (float t)
static float EaseInOutCubic (float t)
static float EaseInOutElastic (float t)
static float EaseInOutExpo (float t)
static float EaseInOutQuad (float t)
static float EaseInOutQuart (float t)
static float EaseInOutQuint (float t)
static float EaseInOutSine (float t)
static float EaseInQuad (float t)
static float EaseInQuart (float t)
static float EaseInQuint (float t)
static float EaseInSine (float t)
static float EaseOutBack (float t)
static float EaseOutBounce (float t)
static float EaseOutCirc (float t)
static float EaseOutCubic (float t)
static float EaseOutElastic (float t)
static float EaseOutExpo (float t)
static float EaseOutQuad (float t)
static float EaseOutQuart (float t)
static float EaseOutQuint (float t)
static float EaseOutSine (float t)
static float Linear (float t)

Static Public Attributes

static constexpr float kPi = 3.14159265358979323846f

Detailed Description

Easing curves for animation, as pure functions of normalized time.

Every function maps a normalized progress t in [0,1] to an eased value. Most return a value in [0,1] (0 at the start, 1 at the end); the Back and Elastic families intentionally overshoot outside [0,1] for a springy feel.

Easing::Fn is a plain function pointer, so curves are trivially passed to Tweener / Animate and cost nothing to store.

btn.animate().move({400,300}, 0.4f, ml::Easing::EaseOutCubic);
static float EaseOutCubic(float t)
Definition Easing.h:50

Definition at line 32 of file Easing.h.

Member Typedef Documentation

◆ Fn

using ml::Easing::Fn = float (*)(float)

Definition at line 34 of file Easing.h.

Member Function Documentation

◆ EaseInBack()

float ml::Easing::EaseInBack ( float t)
inlinestatic

Definition at line 94 of file Easing.h.

◆ EaseInBounce()

float ml::Easing::EaseInBounce ( float t)
inlinestatic

Definition at line 139 of file Easing.h.

◆ EaseInCirc()

float ml::Easing::EaseInCirc ( float t)
inlinestatic

Definition at line 85 of file Easing.h.

◆ EaseInCubic()

float ml::Easing::EaseInCubic ( float t)
inlinestatic

Definition at line 49 of file Easing.h.

◆ EaseInElastic()

float ml::Easing::EaseInElastic ( float t)
inlinestatic

Definition at line 110 of file Easing.h.

◆ EaseInExpo()

float ml::Easing::EaseInExpo ( float t)
inlinestatic

Definition at line 75 of file Easing.h.

◆ EaseInOutBack()

float ml::Easing::EaseInOutBack ( float t)
inlinestatic

Definition at line 102 of file Easing.h.

◆ EaseInOutBounce()

float ml::Easing::EaseInOutBounce ( float t)
inlinestatic

Definition at line 140 of file Easing.h.

◆ EaseInOutCirc()

float ml::Easing::EaseInOutCirc ( float t)
inlinestatic

Definition at line 87 of file Easing.h.

◆ EaseInOutCubic()

float ml::Easing::EaseInOutCubic ( float t)
inlinestatic

Definition at line 51 of file Easing.h.

◆ EaseInOutElastic()

float ml::Easing::EaseInOutElastic ( float t)
inlinestatic

Definition at line 122 of file Easing.h.

◆ EaseInOutExpo()

float ml::Easing::EaseInOutExpo ( float t)
inlinestatic

Definition at line 77 of file Easing.h.

◆ EaseInOutQuad()

float ml::Easing::EaseInOutQuad ( float t)
inlinestatic

Definition at line 44 of file Easing.h.

◆ EaseInOutQuart()

float ml::Easing::EaseInOutQuart ( float t)
inlinestatic

Definition at line 58 of file Easing.h.

◆ EaseInOutQuint()

float ml::Easing::EaseInOutQuint ( float t)
inlinestatic

Definition at line 65 of file Easing.h.

◆ EaseInOutSine()

float ml::Easing::EaseInOutSine ( float t)
inlinestatic

Definition at line 72 of file Easing.h.

◆ EaseInQuad()

float ml::Easing::EaseInQuad ( float t)
inlinestatic

Definition at line 42 of file Easing.h.

◆ EaseInQuart()

float ml::Easing::EaseInQuart ( float t)
inlinestatic

Definition at line 56 of file Easing.h.

◆ EaseInQuint()

float ml::Easing::EaseInQuint ( float t)
inlinestatic

Definition at line 63 of file Easing.h.

◆ EaseInSine()

float ml::Easing::EaseInSine ( float t)
inlinestatic

Definition at line 70 of file Easing.h.

◆ EaseOutBack()

float ml::Easing::EaseOutBack ( float t)
inlinestatic

Definition at line 98 of file Easing.h.

◆ EaseOutBounce()

float ml::Easing::EaseOutBounce ( float t)
inlinestatic

Definition at line 132 of file Easing.h.

◆ EaseOutCirc()

float ml::Easing::EaseOutCirc ( float t)
inlinestatic

Definition at line 86 of file Easing.h.

◆ EaseOutCubic()

float ml::Easing::EaseOutCubic ( float t)
inlinestatic

Definition at line 50 of file Easing.h.

◆ EaseOutElastic()

float ml::Easing::EaseOutElastic ( float t)
inlinestatic

Definition at line 116 of file Easing.h.

◆ EaseOutExpo()

float ml::Easing::EaseOutExpo ( float t)
inlinestatic

Definition at line 76 of file Easing.h.

◆ EaseOutQuad()

float ml::Easing::EaseOutQuad ( float t)
inlinestatic

Definition at line 43 of file Easing.h.

◆ EaseOutQuart()

float ml::Easing::EaseOutQuart ( float t)
inlinestatic

Definition at line 57 of file Easing.h.

◆ EaseOutQuint()

float ml::Easing::EaseOutQuint ( float t)
inlinestatic

Definition at line 64 of file Easing.h.

◆ EaseOutSine()

float ml::Easing::EaseOutSine ( float t)
inlinestatic

Definition at line 71 of file Easing.h.

◆ Linear()

float ml::Easing::Linear ( float t)
inlinestatic

Definition at line 39 of file Easing.h.

Member Data Documentation

◆ kPi

float ml::Easing::kPi = 3.14159265358979323846f
staticconstexpr

Definition at line 36 of file Easing.h.


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