From 1092a213334126f7c007e80f61be45b79a960007 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Fri, 5 Oct 2012 23:38:57 -0600 Subject: [PATCH] Get rid of extra code --- src/ol/map.js | 74 ++---------------------------- src/ol/renderer/dom/map.js | 6 +-- src/ol/renderer/map.js | 10 +--- src/ol/renderer/webgl/map.js | 13 ++++-- src/ol/renderer/webgl/tilelayer.js | 6 +-- 5 files changed, 20 insertions(+), 89 deletions(-) diff --git a/src/ol/map.js b/src/ol/map.js index b5ad76ec3b..02d254f07a 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -23,8 +23,6 @@ goog.require('goog.events.MouseWheelEvent'); goog.require('goog.events.MouseWheelHandler'); goog.require('goog.events.MouseWheelHandler.EventType'); goog.require('goog.functions'); -goog.require('goog.fx.anim'); -goog.require('goog.fx.anim.Animated'); goog.require('goog.object'); goog.require('ol.BrowserFeature'); goog.require('ol.Collection'); @@ -116,7 +114,6 @@ ol.MapProperty = { /** * @constructor * @extends {ol.Object} - * @implements {goog.fx.anim.Animated} * @param {olx.MapOptions} mapOptions Map options. */ ol.Map = function(mapOptions) { @@ -145,18 +142,6 @@ ol.Map = function(mapOptions) { */ this.mapToUserTransform_ = ol.Projection.cloneTransform; - /** - * @private - * @type {boolean} - */ - this.animatedRenderer_ = false; - - /** - * @private - * @type {number} - */ - this.animatingCount_ = 0; - /** * @private * @type {Element} @@ -245,6 +230,7 @@ ol.Map = function(mapOptions) { */ this.delayedRender_ = new goog.async.AnimationDelay( this.renderFrame_, null, this); + this.registerDisposable(this.delayedRender_); /** * Flag to indicate whether this.delayedRender_.start has been called. @@ -636,14 +622,6 @@ ol.Map.prototype.handleBrowserWindowResize = function() { }; -/** - * @return {boolean} Is animating. - */ -ol.Map.prototype.isAnimating = function() { - return this.animatingCount_ > 0; -}; - - /** * @return {boolean} Is defined. */ @@ -654,17 +632,6 @@ ol.Map.prototype.isDef = function() { }; -/** - * @inheritDoc - */ -ol.Map.prototype.onAnimationFrame = function() { - if (goog.DEBUG) { - this.logger.info('onAnimationFrame'); - } - this.renderFrame_(); -}; - - /** * @private */ @@ -688,7 +655,7 @@ ol.Map.prototype.recalculateTransforms_ = function() { * Render. */ ol.Map.prototype.render = function() { - if (this.animatingCount_ < 1 && !this.pendingRender_) { + if (!this.pendingRender_) { this.delayedRender_.start(); this.pendingRender_ = true; } @@ -703,15 +670,7 @@ ol.Map.prototype.renderFrame_ = function() { this.logger.info('renderFrame_'); } this.pendingRender_ = false; - var animatedRenderer = this.renderer_.render(); - if (animatedRenderer != this.animatedRenderer_) { - if (animatedRenderer) { - this.startAnimating(); - } else { - this.stopAnimating(); - } - this.animatedRenderer_ = animatedRenderer; - } + this.renderer_.render(); if (goog.DEBUG) { this.logger.info('postrender'); } @@ -849,33 +808,6 @@ goog.exportProperty( ol.Map.prototype.setUserProjection); -/** - * Start animating. - */ -ol.Map.prototype.startAnimating = function() { - if (++this.animatingCount_ == 1) { - if (goog.DEBUG) { - this.logger.info('startAnimating'); - } - goog.fx.anim.registerAnimation(this); - } -}; - - -/** - * Stop animating. - */ -ol.Map.prototype.stopAnimating = function() { - goog.asserts.assert(this.animatingCount_ > 0); - if (--this.animatingCount_ === 0) { - if (goog.DEBUG) { - this.logger.info('stopAnimating'); - } - goog.fx.anim.unregisterAnimation(this); - } -}; - - /** * @private * @param {number|undefined} resolution Resolution to go to. diff --git a/src/ol/renderer/dom/map.js b/src/ol/renderer/dom/map.js index 69154b7315..875c48c5e3 100644 --- a/src/ol/renderer/dom/map.js +++ b/src/ol/renderer/dom/map.js @@ -184,13 +184,11 @@ ol.renderer.dom.Map.prototype.handleSizeChanged = function() { /** * Render the map. Sets up the layers pane on first render and adjusts its * position as needed on subsequent calls. - * - * @return {boolean} Animating. */ ol.renderer.dom.Map.prototype.render = function() { var map = this.getMap(); if (!map.isDef()) { - return false; + return; } var mapCenter = map.getCenter(); @@ -228,7 +226,7 @@ ol.renderer.dom.Map.prototype.render = function() { this.renderedRotation_ = mapRotation; this.renderedSize_ = mapSize; - return goog.base(this, 'render'); + goog.base(this, 'render'); }; diff --git a/src/ol/renderer/map.js b/src/ol/renderer/map.js index b0ed2ce188..587b34eb37 100644 --- a/src/ol/renderer/map.js +++ b/src/ol/renderer/map.js @@ -2,8 +2,6 @@ goog.provide('ol.renderer.Map'); goog.require('goog.Disposable'); goog.require('goog.events'); -goog.require('goog.fx.anim'); -goog.require('goog.fx.anim.Animated'); goog.require('goog.vec.Mat4'); @@ -306,16 +304,12 @@ ol.renderer.Map.prototype.removeLayerRenderer = function(layer) { /** - * @return {boolean} Animating. + * Render. */ ol.renderer.Map.prototype.render = function() { - var animate = false; this.forEachReadyVisibleLayer(function(layer, layerRenderer) { - if (layerRenderer.render()) { - animate = true; - } + layerRenderer.render(); }); - return animate; }; diff --git a/src/ol/renderer/webgl/map.js b/src/ol/renderer/webgl/map.js index 3b628321ef..fccdbddc64 100644 --- a/src/ol/renderer/webgl/map.js +++ b/src/ol/renderer/webgl/map.js @@ -551,7 +551,7 @@ ol.renderer.webgl.Map.prototype.removeLayerRenderer = function(layer) { ol.renderer.webgl.Map.prototype.render = function() { if (!this.getMap().isDef()) { - return false; + return; } var size = /** @type {ol.Size} */ this.getMap().getSize(); @@ -561,7 +561,12 @@ ol.renderer.webgl.Map.prototype.render = function() { this.canvasSize_ = size; } - var animate = goog.base(this, 'render'); + var rerender = false; + this.forEachReadyVisibleLayer(function(layer, layerRenderer) { + if (layerRenderer.render()) { + rerender = true; + } + }); var gl = this.getGL(); @@ -623,7 +628,9 @@ ol.renderer.webgl.Map.prototype.render = function() { gl.drawArrays(goog.webgl.TRIANGLE_STRIP, 0, 4); }, this); - return animate; + if (rerender) { + this.getMap().render(); + } }; diff --git a/src/ol/renderer/webgl/tilelayer.js b/src/ol/renderer/webgl/tilelayer.js index 35cf4f36c0..cd06d29225 100644 --- a/src/ol/renderer/webgl/tilelayer.js +++ b/src/ol/renderer/webgl/tilelayer.js @@ -301,7 +301,7 @@ ol.renderer.webgl.TileLayer.prototype.handleWebGLContextLost = function() { */ ol.renderer.webgl.TileLayer.prototype.render = function() { - var animate = false; + var rerender = false; var mapRenderer = this.getMapRenderer(); var map = this.getMap(); @@ -488,7 +488,7 @@ ol.renderer.webgl.TileLayer.prototype.render = function() { image, goog.webgl.LINEAR, goog.webgl.LINEAR); }); }, mapRenderer, imagesToLoad)); - animate = true; + rerender = true; } if (allTilesLoaded) { @@ -522,6 +522,6 @@ ol.renderer.webgl.TileLayer.prototype.render = function() { -0.5, 0); - return animate; + return rerender; };