bezier = require './bezier-easing'
PathEasing = require('./path-easing')
class Easing
bezier: bezier
PathEasing: PathEasing
path: (new PathEasing 'creator').create
linear: none: (k) -> k
ease:
in: bezier.apply @, [ 0.42, 0, 1, 1 ]
out: bezier.apply @, [ 0, 0, 0.58, 1 ]
inout: bezier.apply @, [ 0.42, 0, 0.58, 1 ]
quad:
in: bezier.apply @, [ 0.55, 0.085, 0.68, 0.53 ]
out: bezier.apply @, [ 0.25, 0.46, 0.45, 0.94 ]
inout: bezier.apply @, [ 0.455, 0.03, 0.515, 0.955 ]
cubic:
in: bezier.apply @, [ 0.55, 0.055, 0.675, 0.19 ]
out: bezier.apply @, [ 0.215, 0.61, 0.355, 1 ]
inout: bezier.apply @, [ 0.645, 0.045, 0.355, 1 ]
quart:
in: bezier.apply @, [ 0.895, 0.03, 0.685, 0.22 ]
out: bezier.apply @, [ 0.165, 0.84, 0.44, 1 ]
inout: bezier.apply @, [ 0.77, 0, 0.175, 1 ]
quint:
in: bezier.apply @, [ 0.895, 0.03, 0.685, 0.22 ]
out: bezier.apply @, [ 0.165, 0.84, 0.44, 1 ]
inout: bezier.apply @, [ 0.77, 0, 0.175, 1 ]
sin:
in: bezier.apply @, [ 0.47, 0, 0.745, 0.715]
out: bezier.apply @, [ 0.39, 0.575, 0.565, 1 ]
inout: bezier.apply @, [ 0.445, 0.05, 0.55, 0.95 ]
expo:
in: bezier.apply @, [ 0.95, 0.05, 0.795, 0.035]
out: bezier.apply @, [ 0.19, 1, 0.22, 1 ]
inout: bezier.apply @, [ 1, 0, 0, 1 ]
circ:
in: bezier.apply @, [ 0.6, 0.04, 0.98, 0.335]
out: bezier.apply @, [ 0.075, 0.82, 0.165, 1 ]
inout: bezier.apply @, [ 0.785, 0.135, 0.15, 0.86 ]
back:
in: bezier.apply @, [ 0.6, 0, 0.735, 0.045]
out: bezier.apply @, [ 0.175, 0.885, 0.32, 1 ]
inout: bezier.apply @, [ 0.68, 0, 0.265, 1 ]
elastic:
in: (k) ->
s = undefined
a = 0.1