29 lines
1.5 KiB
C++
29 lines
1.5 KiB
C++
#include <functional>
|
|
#include "animate2.hpp"
|
|
|
|
namespace animate2 {
|
|
struct Transform;
|
|
}
|
|
|
|
namespace ease2 {
|
|
using EaseFunc = std::function<double(double)>;
|
|
using MoveFunc = std::function<void(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick)>;
|
|
|
|
double sine(double x);
|
|
double out_circle(double x);
|
|
double out_bounce(double x);
|
|
double in_out_back(double x);
|
|
double random(double tick);
|
|
double normal_dist(double tick);
|
|
|
|
void move_bounce(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void move_rush(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void scale_squeeze(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void scale_squash(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void scale_stretch(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void scale_grow(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void move_slide(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void move_none(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void scale_only(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
void move_shake(animate2::Transform &tr, sf::Vector2f& pos_out, sf::Vector2f& scale_out, float tick);
|
|
}
|