Merge pull request #121 from twpayne/attribution-control-refactoring

Attribution control refactoring
This commit is contained in:
Tom Payne
2013-01-17 04:46:57 -08:00
12 changed files with 235 additions and 546 deletions
@@ -236,6 +236,8 @@ ol.renderer.dom.TileLayer.prototype.renderFrame =
frameState.animate = true;
}
this.updateTileUsage(frameState.tileUsage, tileSource, z, tileRange);
};
+26
View File
@@ -3,6 +3,7 @@ goog.provide('ol.renderer.Layer');
goog.require('goog.events');
goog.require('goog.events.EventType');
goog.require('ol.Object');
goog.require('ol.TileRange');
goog.require('ol.layer.Layer');
goog.require('ol.layer.LayerProperty');
@@ -125,3 +126,28 @@ ol.renderer.Layer.prototype.handleLayerSaturationChange = goog.nullFunction;
* @protected
*/
ol.renderer.Layer.prototype.handleLayerVisibleChange = goog.nullFunction;
/**
* @protected
* @param {Object.<string, Object.<string, ol.TileRange>>} tileUsage Tile usage.
* @param {ol.source.Source} source Source.
* @param {number} z Z.
* @param {ol.TileRange} tileRange Tile range.
*/
ol.renderer.Layer.prototype.updateTileUsage =
function(tileUsage, source, z, tileRange) {
// FIXME should we use tilesToDrawByZ instead?
var sourceKey = goog.getUid(source).toString();
var zKey = z.toString();
if (sourceKey in tileUsage) {
if (z in tileUsage[sourceKey]) {
tileUsage[sourceKey][zKey].extend(tileRange);
} else {
tileUsage[sourceKey][zKey] = tileRange;
}
} else {
tileUsage[sourceKey] = {};
tileUsage[sourceKey][zKey] = tileRange;
}
};
@@ -277,7 +277,6 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame =
frameState.extent, tileResolution);
var framebufferExtent;
if (!goog.isNull(this.renderedTileRange_) &&
this.renderedTileRange_.equals(tileRange)) {
framebufferExtent = this.renderedFramebufferExtent_;
@@ -460,6 +459,8 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame =
}
this.updateTileUsage(frameState.tileUsage, tileSource, z, tileRange);
goog.vec.Mat4.makeIdentity(this.matrix_);
goog.vec.Mat4.translate(this.matrix_,
(view2DState.center.x - framebufferExtent.minX) /