motor.js
Version:
A rendering Engine for the web.
197 lines (149 loc) • 4.88 kB
JavaScript
'use strict';
var _createClass = require('babel-runtime/helpers/create-class')['default'];
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _tweenJs = require('tween.js');
var _tweenJs2 = _interopRequireDefault(_tweenJs);
/**
* Curve Class
* @class Curve
* @return {Curve} A new instance of Curve
*/
var Curve = (function () {
/**
* @constructor
*/
function Curve(key) {
_classCallCheck(this, Curve);
this._curveFunction = null;
// Select Curve
switch (key) {
// Linear
case 'Linear':
this._curveFunction = _tweenJs2['default'].Easing.Linear.None;
break;
// Exponential
case 'ExponentialIn':
this._curveFunction = _tweenJs2['default'].Easing.Exponential.In;
break;
case 'ExponentialOut':
this._curveFunction = _tweenJs2['default'].Easing.Exponential.InOut;
break;
case 'ExponentialInOut':
this._curveFunction = _tweenJs2['default'].Easing.Exponential.InOut;
break;
// Quadratic
case 'QuadraticIn':
this._curveFunction = _tweenJs2['default'].Easing.Quadratic.In;
break;
case 'QuadraticOut':
this._curveFunction = _tweenJs2['default'].Easing.Quadratic.InOut;
break;
case 'QuadraticInOut':
this._curveFunction = _tweenJs2['default'].Easing.Quadratic.InOut;
break;
// Cubic
case 'CubicIn':
this._curveFunction = _tweenJs2['default'].Easing.Cubic.In;
break;
case 'CubicOut':
this._curveFunction = _tweenJs2['default'].Easing.Cubic.InOut;
break;
case 'CubicInOut':
this._curveFunction = _tweenJs2['default'].Easing.Cubic.InOut;
break;
// Quartic
case 'QuarticIn':
this._curveFunction = _tweenJs2['default'].Easing.Quartic.In;
break;
case 'QuarticOut':
this._curveFunction = _tweenJs2['default'].Easing.Quartic.InOut;
break;
case 'QuarticInOut':
this._curveFunction = _tweenJs2['default'].Easing.Quartic.InOut;
break;
// Quintic
case 'QuinticIn':
this._curveFunction = _tweenJs2['default'].Easing.Quintic.In;
break;
case 'QuarticOut':
this._curveFunction = _tweenJs2['default'].Easing.Quintic.InOut;
break;
case 'QuinticInOut':
this._curveFunction = _tweenJs2['default'].Easing.Quintic.InOut;
break;
// Sinusoidal
case 'SinusoidalIn':
this._curveFunction = _tweenJs2['default'].Easing.Sinusoidal.In;
break;
case 'SinusoidalOut':
this._curveFunction = _tweenJs2['default'].Easing.Sinusoidal.InOut;
break;
case 'SinusoidalInOut':
this._curveFunction = _tweenJs2['default'].Easing.Sinusoidal.InOut;
break;
// Circular
case 'CircularIn':
this._curveFunction = _tweenJs2['default'].Easing.Circular.In;
break;
case 'CircularOut':
this._curveFunction = _tweenJs2['default'].Easing.Circular.InOut;
break;
case 'CircularInOut':
this._curveFunction = _tweenJs2['default'].Easing.Circular.InOut;
break;
// Elastic
case 'ElasticIn':
this._curveFunction = _tweenJs2['default'].Easing.Elastic.In;
break;
case 'ElasticOut':
this._curveFunction = _tweenJs2['default'].Easing.Elastic.InOut;
break;
case 'ElasticInOut':
this._curveFunction = _tweenJs2['default'].Easing.Elastic.InOut;
break;
// Back
case 'BackIn':
this._curveFunction = _tweenJs2['default'].Easing.Back.In;
break;
case 'BackOut':
this._curveFunction = _tweenJs2['default'].Easing.Back.InOut;
break;
case 'BackInOut':
this._curveFunction = _tweenJs2['default'].Easing.Back.InOut;
break;
// Bounce
case 'BounceIn':
this._curveFunction = _tweenJs2['default'].Easing.Bounce.In;
break;
case 'BounceOut':
this._curveFunction = _tweenJs2['default'].Easing.Bounce.InOut;
break;
case 'BounceInOut':
this._curveFunction = _tweenJs2['default'].Easing.Bounce.InOut;
break;
default:
this._curveFunction = _tweenJs2['default'].Easing.Exponential.InOut;
}
}
/**
* [get description]
*
* @method
* @memberOf Curve
* @return {[type]} [description]
*/
_createClass(Curve, [{
key: 'get',
value: function get() {
return this._curveFunction;
}
}]);
return Curve;
})();
exports['default'] = Curve;
module.exports = exports['default'];
//# sourceMappingURL=Curve.js.map