• Emmanuele Bassi's avatar
    [animation] Implement new easing functions · ec3b1a7b
    Emmanuele Bassi authored
    Instead of using our own homegrown alpha functions, we should
    use the easing functions also shared by other animation frameworks,
    like jQuery and Tween, in the interests of code portability.
    
    The easing functions have been defined by Robert Penner and
    are divided into three categories:
    
            In    Out     InOut
    
    Each category has a particular curve:
    
            Quadratic
            Cubic
            Quartic
            Quintic
            Sinusoidal
            Exponential
            Circular
    
    In addition, there are "physical" curves:
    
            Elastic
            Back (overshooting cubic)
            Bounce (exponentially decaying parabolic)
    
    Finally, the Linear curve is also provided as a reference.
    
    The functions are private, and are meant to be used only
    through their logical id as provided by the AnimationMode
    enumeration.
    
    The tests should be updated as well to match the new
    easing functions.
    ec3b1a7b
clutter-alpha.c 32.7 KB