diff options
Diffstat (limited to 'extlib/leaflet/src/dom/transition/Transition.Timer.js')
-rw-r--r-- | extlib/leaflet/src/dom/transition/Transition.Timer.js | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/extlib/leaflet/src/dom/transition/Transition.Timer.js b/extlib/leaflet/src/dom/transition/Transition.Timer.js deleted file mode 100644 index af4e4ef2..00000000 --- a/extlib/leaflet/src/dom/transition/Transition.Timer.js +++ /dev/null @@ -1,124 +0,0 @@ -/*
- * L.Transition fallback implementation that powers Leaflet animation
- * in browsers that don't support CSS3 Transitions
- */
-
-L.Transition = L.Transition.NATIVE ? L.Transition : L.Transition.extend({
- statics: {
- getTime: Date.now || function() { return +new Date(); },
-
- TIMER: true,
-
- EASINGS: {
- 'ease': [0.25, 0.1, 0.25, 1.0],
- 'linear': [0.0, 0.0, 1.0, 1.0],
- 'ease-in': [0.42, 0, 1.0, 1.0],
- 'ease-out': [0, 0, 0.58, 1.0],
- 'ease-in-out': [0.42, 0, 0.58, 1.0]
- },
-
- CUSTOM_PROPS_GETTERS: {
- position: L.DomUtil.getPosition
- },
-
- //used to get units from strings like "10.5px" (->px)
- UNIT_RE: /^[\d\.]+(\D*)$/
- },
-
- options: {
- fps: 50
- },
-
- initialize: function(el, options) {
- this._el = el;
- L.Util.extend(this.options, options);
-
- var easings = L.Transition.EASINGS[this.options.easing] || L.Transition.EASINGS['ease'];
-
- this._p1 = new L.Point(0, 0);
- this._p2 = new L.Point(easings[0], easings[1]);
- this._p3 = new L.Point(easings[2], easings[3]);
- this._p4 = new L.Point(1, 1);
-
- this._step = L.Util.bind(this._step, this);
- this._interval = Math.round(1000 / this.options.fps);
- },
-
- run: function(props) {
- this._props = {};
-
- var getters = L.Transition.CUSTOM_PROPS_GETTERS,
- re = L.Transition.UNIT_RE;
-
- this.fire('start');
-
- for (var prop in props) {
- if (props.hasOwnProperty(prop)) {
- var p = {};
- if (prop in getters) {
- p.from = getters[prop](this._el);
- } else {
- var matches = this._el.style[prop].match(re);
- p.from = parseFloat(matches[0]);
- p.unit = matches[1];
- }
- p.to = props[prop];
- this._props[prop] = p;
- }
- }
-
- clearInterval(this._timer);
- this._timer = setInterval(this._step, this._interval);
- this._startTime = L.Transition.getTime();
- },
-
- _step: function() {
- var time = L.Transition.getTime(),
- elapsed = time - this._startTime,
- duration = this.options.duration * 1000;
-
- if (elapsed < duration) {
- this._runFrame(this._cubicBezier(elapsed / duration));
- } else {
- this._runFrame(1);
- this._complete();
- }
- },
-
- _runFrame: function(percentComplete) {
- var setters = L.Transition.CUSTOM_PROPS_SETTERS,
- prop, p, value;
-
- for (prop in this._props) {
- if (this._props.hasOwnProperty(prop)) {
- p = this._props[prop];
- if (prop in setters) {
- value = p.to.subtract(p.from).multiplyBy(percentComplete).add(p.from);
- setters[prop](this._el, value);
- } else {
- this._el.style[prop] =
- ((p.to - p.from) * percentComplete + p.from) + p.unit;
- }
- }
- }
- this.fire('step');
- },
-
- _complete: function() {
- clearInterval(this._timer);
- this.fire('end');
- },
-
- _cubicBezier: function(t) {
- var a = Math.pow(1 - t, 3),
- b = 3 * Math.pow(1 - t, 2) * t,
- c = 3 * (1 - t) * Math.pow(t, 2),
- d = Math.pow(t, 3),
- p1 = this._p1.multiplyBy(a),
- p2 = this._p2.multiplyBy(b),
- p3 = this._p3.multiplyBy(c),
- p4 = this._p4.multiplyBy(d);
-
- return p1.add(p2).add(p3).add(p4).y;
- }
-});
\ No newline at end of file |