Call render and requestRenderFrame directly instead of using changed events
This commit is contained in:
@@ -72,14 +72,6 @@ ol.renderer.Layer = function(mapRenderer, layer) {
|
||||
goog.inherits(ol.renderer.Layer, ol.Object);
|
||||
|
||||
|
||||
/**
|
||||
* @protected
|
||||
*/
|
||||
ol.renderer.Layer.prototype.dispatchChangeEvent = function() {
|
||||
this.dispatchEvent(goog.events.EventType.CHANGE);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @protected
|
||||
* @return {ol.layer.Layer} Layer.
|
||||
@@ -133,7 +125,7 @@ ol.renderer.Layer.prototype.handleLayerHueChange = goog.nullFunction;
|
||||
ol.renderer.Layer.prototype.handleImageChange = function(event) {
|
||||
var image = /** @type {ol.Image} */ (event.target);
|
||||
if (image.getState() === ol.ImageState.LOADED) {
|
||||
this.getMap().render();
|
||||
this.renderIfReadyAndVisible();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -142,7 +134,7 @@ ol.renderer.Layer.prototype.handleImageChange = function(event) {
|
||||
* @protected
|
||||
*/
|
||||
ol.renderer.Layer.prototype.handleLayerLoad = function() {
|
||||
this.dispatchChangeEvent();
|
||||
this.renderIfReadyAndVisible();
|
||||
};
|
||||
|
||||
|
||||
@@ -150,7 +142,7 @@ ol.renderer.Layer.prototype.handleLayerLoad = function() {
|
||||
* @protected
|
||||
*/
|
||||
ol.renderer.Layer.prototype.handleLayerOpacityChange = function() {
|
||||
this.dispatchChangeEvent();
|
||||
this.renderIfReadyAndVisible();
|
||||
};
|
||||
|
||||
|
||||
@@ -164,7 +156,10 @@ ol.renderer.Layer.prototype.handleLayerSaturationChange = goog.nullFunction;
|
||||
* @protected
|
||||
*/
|
||||
ol.renderer.Layer.prototype.handleLayerVisibleChange = function() {
|
||||
this.dispatchChangeEvent();
|
||||
var layer = this.getLayer();
|
||||
if (layer.isReady()) {
|
||||
this.getMap().render();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -176,7 +171,10 @@ ol.renderer.Layer.prototype.handleLayerVisibleChange = function() {
|
||||
ol.renderer.Layer.prototype.handleTileChange_ = function(event) {
|
||||
var tile = /** @type {ol.Tile} */ (event.target);
|
||||
if (tile.getState() === ol.TileState.LOADED) {
|
||||
this.getMap().requestRenderFrame();
|
||||
var layer = this.getLayer();
|
||||
if (layer.getVisible() && layer.isReady()) {
|
||||
this.getMap().requestRenderFrame();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -188,6 +186,17 @@ ol.renderer.Layer.prototype.handleTileChange_ = function(event) {
|
||||
ol.renderer.Layer.prototype.renderFrame = goog.abstractMethod;
|
||||
|
||||
|
||||
/**
|
||||
* @protected
|
||||
*/
|
||||
ol.renderer.Layer.prototype.renderIfReadyAndVisible = function() {
|
||||
var layer = this.getLayer();
|
||||
if (layer.getVisible() && layer.isReady()) {
|
||||
this.getMap().render();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.FrameState} frameState Frame state.
|
||||
* @param {ol.source.TileSource} tileSource Tile source.
|
||||
|
||||
Reference in New Issue
Block a user