The standard set of easing functions implemented in PureScript. Adapted from jQuery Easing, which was most likely stolen from Robert Penner's Programming Macromedia Flash MX. There are no new ideas in programming.
Unlike the jQuery library, only the ease-in functions are explicitly given. To keep things Dynamic™ and Maintanable™, out
and inAndOut
exist, which transform the other easing functions into out-easing and symmetrically-easing functions, respectively. You want elastic easing on the way out? out elastic
is the function for you! Want to bounce off the walls? inAndOut bounce
just might make your day.
The Easing
type is Start -> End -> Progress -> Result
, where all four are Number
s.
Function | Signature | Description |
---|---|---|
polynomial |
Number -> Easing |
Takes the power to which to raise progress . |
sine |
Easing |
Standard sinusoidal easing. |
exponential |
Easing |
Exponential easing. |
circular |
Easing |
Follows a regular arc. |
elastic |
Easing |
'Spring' effect around the end. |
back |
Easing |
Pulls back before transition. |
bounce |
Easing |
in /out are reversed. |
All of these can be seen on easings.net, though do note that bounce
has been flipped. You'll see why when you look at the demo; what bounces on the way in? It's pretty weird, friend.
Please submit PRs! All are welcome! I'll try to put some issues up to give some ideas.