32 lines
963 B
C
32 lines
963 B
C
/**
|
|
* Copyright (c) 2021 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
#pragma once
|
|
|
|
typedef float easefunction_t(float t);
|
|
|
|
/**
|
|
* Returns the ease time for a given real time duration span.
|
|
* @param start At what point in time the animation started
|
|
* @param current The current point in time the animation is at.
|
|
* @param duration The total duration on the animation.
|
|
* @returns The easing time (0-1 time) that the animation is at.
|
|
*/
|
|
#define easeTimeToEase(start, current, duration) ((current-start)/duration)
|
|
|
|
float easeLinear(float t);
|
|
float easeInQuad(float t);
|
|
float easeOutQuad(float t);
|
|
float easeInOutQuad(float t);
|
|
float easeInCubic(float t);
|
|
float easeOutCubic(float t);
|
|
float easeInOutCubic(float t);
|
|
float easeInQuart(float t);
|
|
float easeOutQuart(float t);
|
|
float easeInOutQuart(float t);
|
|
float easeInQuint(float t);
|
|
float easeOutQuint(float t);
|
|
float easeInOutQuint(float t); |