//  BlockyFroggy
//  Copyright © 2017 John Ryland.
//  All rights reserved.
#pragma once
#ifndef ANIMATION_H
#define ANIMATION_H


typedef float (*CurveFunction)(float);


float evaluateCurve(const char* curveName, float ratio);
bool lookupCurveFunction(const char* curveName, CurveFunction& curveFunction);


float squareCurve(float ratio);
float linearCurve(float ratio);
float easeInCurve(float ratio);
float easeOutCurve(float ratio);
float easeInOutCurve(float ratio);
float easeOutInCurve(float ratio);
float easeInBackCurve(float ratio);
float easeOutBackCurve(float ratio);
float easeInOutBackCurve(float ratio);
float easeOutInBackCurve(float ratio);
float easeInBounceCurve(float ratio);
float easeOutBounceCurve(float ratio);
float easeInOutBounceCurve(float ratio);
float easeOutInBounceCurve(float ratio);
float easeInElasticCurve(float ratio);
float easeOutElasticCurve(float ratio);
float easeInOutElasticCurve(float ratio);
float easeOutInElasticCurve(float ratio);


#endif // ANIMATION_H

