| Index: third_party/web-animations-js/sources/src/interpolation.js
|
| diff --git a/third_party/web-animations-js/sources/src/interpolation.js b/third_party/web-animations-js/sources/src/interpolation.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ba63ed358fd9527bf8e0425cd425abb6ffb64e77
|
| --- /dev/null
|
| +++ b/third_party/web-animations-js/sources/src/interpolation.js
|
| @@ -0,0 +1,49 @@
|
| +// Copyright 2014 Google Inc. All rights reserved.
|
| +//
|
| +// Licensed under the Apache License, Version 2.0 (the "License");
|
| +// you may not use this file except in compliance with the License.
|
| +// You may obtain a copy of the License at
|
| +//
|
| +// http://www.apache.org/licenses/LICENSE-2.0
|
| +//
|
| +// Unless required by applicable law or agreed to in writing, software
|
| +// distributed under the License is distributed on an "AS IS" BASIS,
|
| +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +// See the License for the specific language governing permissions and
|
| +// limitations under the License.
|
| +
|
| +(function(scope, testing) {
|
| +
|
| + function interpolate(from, to, f) {
|
| + if ((typeof from == 'number') && (typeof to == 'number')) {
|
| + return from * (1 - f) + to * f;
|
| + }
|
| + if ((typeof from == 'boolean') && (typeof to == 'boolean')) {
|
| + return f < 0.5 ? from : to;
|
| + }
|
| +
|
| + WEB_ANIMATIONS_TESTING && console.assert(
|
| + Array.isArray(from) && Array.isArray(to),
|
| + 'If interpolation arguments are not numbers or bools they must be arrays');
|
| +
|
| + if (from.length == to.length) {
|
| + var r = [];
|
| + for (var i = 0; i < from.length; i++) {
|
| + r.push(interpolate(from[i], to[i], f));
|
| + }
|
| + return r;
|
| + }
|
| + throw 'Mismatched interpolation arguments ' + from + ':' + to;
|
| + }
|
| +
|
| + scope.Interpolation = function(from, to, convertToString) {
|
| + return function(f) {
|
| + return convertToString(interpolate(from, to, f));
|
| + }
|
| + };
|
| +
|
| + if (WEB_ANIMATIONS_TESTING) {
|
| + testing.interpolate = interpolate;
|
| + }
|
| +
|
| +})(webAnimations1, webAnimationsTesting);
|
|
|