Functions

float hal_gfx_ez_linear (float p)
 Linear easing, no acceleration. More...
 
float hal_gfx_ez_quad_in (float p)
 Quadratic easing in, accelerate from zero. More...
 
float hal_gfx_ez_quad_out (float p)
 Quadratic easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_quad_in_out (float p)
 Quadratic easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_cub_in (float p)
 Cubic easing in, accelerate from zero. More...
 
float hal_gfx_ez_cub_out (float p)
 Cubic easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_cub_in_out (float p)
 Cubic easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_quar_in (float p)
 Quartic easing in, accelerate from zero. More...
 
float hal_gfx_ez_quar_out (float p)
 Quartic easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_quar_in_out (float p)
 Quartic easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_quin_in (float p)
 Quintic easing in, accelerate from zero. More...
 
float hal_gfx_ez_quin_out (float p)
 Quintic easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_quin_in_out (float p)
 Quintic easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_sin_in (float p)
 Sinusoidal easing in, accelerate from zero. More...
 
float hal_gfx_ez_sin_out (float p)
 Sinusoidal easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_sin_in_out (float p)
 Sinusoidal easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_circ_in (float p)
 Circular easing in, accelerate from zero. More...
 
float hal_gfx_ez_circ_out (float p)
 Circular easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_circ_in_out (float p)
 Circular easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_exp_in (float p)
 Exponential easing in, accelerate from zero. More...
 
float hal_gfx_ez_exp_out (float p)
 Exponential easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_exp_in_out (float p)
 Exponential easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_elast_in (float p)
 Elastic easing in, accelerate from zero. More...
 
float hal_gfx_ez_elast_out (float p)
 Elastic easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_elast_in_out (float p)
 Elastic easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_back_in (float p)
 Overshooting easing in, accelerate from zero. More...
 
float hal_gfx_ez_back_out (float p)
 Overshooting easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_back_in_out (float p)
 Overshooting easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez_bounce_out (float p)
 Bouncing easing in, accelerate from zero. More...
 
float hal_gfx_ez_bounce_in (float p)
 Bouncing easing out, decelerate to zero velocity. More...
 
float hal_gfx_ez_bounce_in_out (float p)
 Bouncing easing in and out, accelerate to halfway, then decelerate. More...
 
float hal_gfx_ez (float A, float B, float steps, float cur_step, float(*ez_func)(float p))
 Convenience function to perform easing between two values given number of steps, current step and easing function. More...
 

Detailed Description

Function Documentation

◆ hal_gfx_ez()

float hal_gfx_ez ( float  A,
float  B,
float  steps,
float  cur_step,
float(*)(float p)  ez_func 
)

Convenience function to perform easing between two values given number of steps, current step and easing function.

Parameters
[in]AInitial value within range [0, 1]
[in]BFinale value within range [0, 1]
[in]stepsTotal number of steps
[in]cur_stepCurrent Step
[in]ez_funcpointer to the desired easing function
Returns
Eased value

◆ hal_gfx_ez_back_in()

float hal_gfx_ez_back_in ( float  p)

Overshooting easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_back_in_out()

float hal_gfx_ez_back_in_out ( float  p)

Overshooting easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_back_out()

float hal_gfx_ez_back_out ( float  p)

Overshooting easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_bounce_in()

float hal_gfx_ez_bounce_in ( float  p)

Bouncing easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_bounce_in_out()

float hal_gfx_ez_bounce_in_out ( float  p)

Bouncing easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_bounce_out()

float hal_gfx_ez_bounce_out ( float  p)

Bouncing easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_circ_in()

float hal_gfx_ez_circ_in ( float  p)

Circular easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_circ_in_out()

float hal_gfx_ez_circ_in_out ( float  p)

Circular easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_circ_out()

float hal_gfx_ez_circ_out ( float  p)

Circular easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_cub_in()

float hal_gfx_ez_cub_in ( float  p)

Cubic easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_cub_in_out()

float hal_gfx_ez_cub_in_out ( float  p)

Cubic easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_cub_out()

float hal_gfx_ez_cub_out ( float  p)

Cubic easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_elast_in()

float hal_gfx_ez_elast_in ( float  p)

Elastic easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_elast_in_out()

float hal_gfx_ez_elast_in_out ( float  p)

Elastic easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_elast_out()

float hal_gfx_ez_elast_out ( float  p)

Elastic easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_exp_in()

float hal_gfx_ez_exp_in ( float  p)

Exponential easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_exp_in_out()

float hal_gfx_ez_exp_in_out ( float  p)

Exponential easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_exp_out()

float hal_gfx_ez_exp_out ( float  p)

Exponential easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_linear()

float hal_gfx_ez_linear ( float  p)

Linear easing, no acceleration.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quad_in()

float hal_gfx_ez_quad_in ( float  p)

Quadratic easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quad_in_out()

float hal_gfx_ez_quad_in_out ( float  p)

Quadratic easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quad_out()

float hal_gfx_ez_quad_out ( float  p)

Quadratic easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quar_in()

float hal_gfx_ez_quar_in ( float  p)

Quartic easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quar_in_out()

float hal_gfx_ez_quar_in_out ( float  p)

Quartic easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quar_out()

float hal_gfx_ez_quar_out ( float  p)

Quartic easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quin_in()

float hal_gfx_ez_quin_in ( float  p)

Quintic easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quin_in_out()

float hal_gfx_ez_quin_in_out ( float  p)

Quintic easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_quin_out()

float hal_gfx_ez_quin_out ( float  p)

Quintic easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_sin_in()

float hal_gfx_ez_sin_in ( float  p)

Sinusoidal easing in, accelerate from zero.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_sin_in_out()

float hal_gfx_ez_sin_in_out ( float  p)

Sinusoidal easing in and out, accelerate to halfway, then decelerate.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value

◆ hal_gfx_ez_sin_out()

float hal_gfx_ez_sin_out ( float  p)

Sinusoidal easing out, decelerate to zero velocity.

Parameters
[in]pInput value, typically within the [0, 1] range
Returns
Eased value