src/cm/media/js/lib/yui/yui3-3.15.0/build/anim-easing/anim-easing-debug.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 602 e16a97fb364a
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('anim-easing', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/*
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
TERMS OF USE - EASING EQUATIONS
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
Open source under the BSD License.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
Copyright 2001 Robert Penner All rights reserved.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
Redistribution and use in source and binary forms, with or without modification,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
are permitted provided that the following conditions are met:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
 * Redistributions of source code must retain the above copyright notice, this
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
    list of conditions and the following disclaimer.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
 * Redistributions in binary form must reproduce the above copyright notice,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
    this list of conditions and the following disclaimer in the documentation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
    and/or other materials provided with the distribution.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
 * Neither the name of the author nor the names of contributors may be used to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
    endorse or promote products derived from this software without specific prior
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
    written permission.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
OF THE POSSIBILITY OF SUCH DAMAGE.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
*/
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
 * The easing module provides methods for customizing
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
 * how an animation behaves during each run.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
 * @class Easing
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
 * @module anim
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
 * @submodule anim-easing
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
var Easing = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
     * Uniform speed between points.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
     * @for Easing
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
     * @method easeNone
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
    easeNone: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
        return c*t/d + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
     * Begins slowly and accelerates towards end. (quadratic)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
     * @method easeIn
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
    easeIn: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
        return c*(t/=d)*t + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
     * Begins quickly and decelerates towards end.  (quadratic)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
     * @method easeOut
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
    easeOut: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    79
        return -c *(t/=d)*(t-2) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    80
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    81
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
     * Begins slowly and decelerates towards end. (quadratic)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
     * @method easeBoth
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
    easeBoth: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    92
        if ((t /= d/2) < 1) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    93
            return c/2*t*t + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    94
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    95
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    96
        return -c/2 * ((--t)*(t-2) - 1) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    97
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    98
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    99
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   100
     * Begins slowly and accelerates towards end. (quartic)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   101
     * @method easeInStrong
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   102
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   103
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   104
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   105
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   106
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   107
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   108
    easeInStrong: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   109
        return c*(t/=d)*t*t*t + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   110
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   111
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   112
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   113
     * Begins quickly and decelerates towards end.  (quartic)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   114
     * @method easeOutStrong
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   115
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   116
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   117
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   118
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   119
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   120
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   121
    easeOutStrong: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   122
        return -c * ((t=t/d-1)*t*t*t - 1) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   123
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   124
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   125
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   126
     * Begins slowly and decelerates towards end. (quartic)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   127
     * @method easeBothStrong
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   128
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   129
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   130
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   131
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   132
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   133
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   134
    easeBothStrong: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   135
        if ((t /= d/2) < 1) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   136
            return c/2*t*t*t*t + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   137
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   138
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   139
        return -c/2 * ((t-=2)*t*t*t - 2) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   140
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   141
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   142
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   143
     * Snap in elastic effect.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   144
     * @method elasticIn
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   145
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   146
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   147
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   148
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   149
     * @param {Number} a Amplitude (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   150
     * @param {Number} p Period (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   151
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   152
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   153
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   154
    elasticIn: function (t, b, c, d, a, p) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   155
        var s;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   156
        if (t === 0) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   157
            return b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   158
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   159
        if ( (t /= d) === 1 ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   160
            return b+c;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   161
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   162
        if (!p) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   163
            p = d* 0.3;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   164
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   165
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   166
        if (!a || a < Math.abs(c)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   167
            a = c;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   168
            s = p/4;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   169
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   170
        else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   171
            s = p/(2*Math.PI) * Math.asin (c/a);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   172
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   173
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   174
        return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   175
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   176
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   177
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   178
     * Snap out elastic effect.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   179
     * @method elasticOut
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   180
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   181
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   182
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   183
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   184
     * @param {Number} a Amplitude (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   185
     * @param {Number} p Period (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   186
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   187
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   188
    elasticOut: function (t, b, c, d, a, p) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   189
        var s;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   190
        if (t === 0) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   191
            return b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   192
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   193
        if ( (t /= d) === 1 ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   194
            return b+c;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   195
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   196
        if (!p) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   197
            p=d * 0.3;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   198
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   199
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   200
        if (!a || a < Math.abs(c)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   201
            a = c;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   202
            s = p / 4;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   203
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   204
        else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   205
            s = p/(2*Math.PI) * Math.asin (c/a);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   206
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   207
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   208
        return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   209
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   210
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   211
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   212
     * Snap both elastic effect.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   213
     * @method elasticBoth
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   214
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   215
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   216
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   217
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   218
     * @param {Number} a Amplitude (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   219
     * @param {Number} p Period (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   220
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   221
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   222
    elasticBoth: function (t, b, c, d, a, p) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   223
        var s;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   224
        if (t === 0) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   225
            return b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   226
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   227
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   228
        if ( (t /= d/2) === 2 ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   229
            return b+c;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   230
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   231
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   232
        if (!p) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   233
            p = d*(0.3*1.5);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   234
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   235
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   236
        if ( !a || a < Math.abs(c) ) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   237
            a = c;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   238
            s = p/4;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   239
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   240
        else {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   241
            s = p/(2*Math.PI) * Math.asin (c/a);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   242
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   243
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   244
        if (t < 1) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   245
            return -0.5*(a*Math.pow(2,10*(t-=1)) *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   246
                    Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   247
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   248
        return a*Math.pow(2,-10*(t-=1)) *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   249
                Math.sin( (t*d-s)*(2*Math.PI)/p )*0.5 + c + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   250
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   251
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   252
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   253
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   254
     * Backtracks slightly, then reverses direction and moves to end.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   255
     * @method backIn
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   256
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   257
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   258
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   259
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   260
     * @param {Number} s Overshoot (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   261
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   262
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   263
    backIn: function (t, b, c, d, s) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   264
        if (s === undefined) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   265
            s = 1.70158;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   266
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   267
        if (t === d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   268
            t -= 0.001;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   269
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   270
        return c*(t/=d)*t*((s+1)*t - s) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   271
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   272
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   273
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   274
     * Overshoots end, then reverses and comes back to end.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   275
     * @method backOut
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   276
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   277
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   278
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   279
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   280
     * @param {Number} s Overshoot (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   281
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   282
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   283
    backOut: function (t, b, c, d, s) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   284
        if (typeof s === 'undefined') {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   285
            s = 1.70158;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   286
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   287
        return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   288
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   289
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   290
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   291
     * Backtracks slightly, then reverses direction, overshoots end,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   292
     * then reverses and comes back to end.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   293
     * @method backBoth
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   294
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   295
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   296
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   297
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   298
     * @param {Number} s Overshoot (optional)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   299
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   300
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   301
    backBoth: function (t, b, c, d, s) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   302
        if (typeof s === 'undefined') {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   303
            s = 1.70158;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   304
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   305
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   306
        if ((t /= d/2 ) < 1) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   307
            return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   308
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   309
        return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   310
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   311
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   312
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   313
     * Bounce off of start.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   314
     * @method bounceIn
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   315
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   316
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   317
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   318
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   319
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   320
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   321
    bounceIn: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   322
        return c - Y.Easing.bounceOut(d-t, 0, c, d) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   323
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   324
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   325
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   326
     * Bounces off end.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   327
     * @method bounceOut
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   328
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   329
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   330
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   331
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   332
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   333
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   334
    bounceOut: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   335
        if ((t/=d) < (1/2.75)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   336
                return c*(7.5625*t*t) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   337
        } else if (t < (2/2.75)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   338
                return c*(7.5625*(t-=(1.5/2.75))*t + 0.75) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   339
        } else if (t < (2.5/2.75)) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   340
                return c*(7.5625*(t-=(2.25/2.75))*t + 0.9375) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   341
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   342
        return c*(7.5625*(t-=(2.625/2.75))*t + 0.984375) + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   343
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   344
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   345
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   346
     * Bounces off start and end.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   347
     * @method bounceBoth
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   348
     * @param {Number} t Time value used to compute current value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   349
     * @param {Number} b Starting value
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   350
     * @param {Number} c Delta between start and end values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   351
     * @param {Number} d Total length of animation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   352
     * @return {Number} The computed value for the current animation frame
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   353
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   354
    bounceBoth: function (t, b, c, d) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   355
        if (t < d/2) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   356
            return Y.Easing.bounceIn(t * 2, 0, c, d) * 0.5 + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   357
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   358
        return Y.Easing.bounceOut(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   359
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   360
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   361
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   362
Y.Easing = Easing;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   363
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   364
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   365
}, '@VERSION@', {"requires": ["anim-base"]});