//  DescriptionHere - curves.h
//  Created by John Ryland (jryland@xiaofrog.com), 05/11/2017
//  Copyright (c) 2017 InvertedLogic
//  All rights reserved.
#pragma once

#include <string>
#include <vector>

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);

float evaluateCurve(const char* curveName, float ratio);
void getCurveFunctionNames(std::vector<std::string>& a_names);

