Image layer renderers add attributions to frame state

This commit is contained in:
Éric Lemoine
2013-01-31 13:37:18 +01:00
parent 6e8f5ef0fd
commit f540dd8689
8 changed files with 47 additions and 2 deletions
@@ -94,6 +94,7 @@ ol.renderer.canvas.ImageLayer.prototype.renderFrame =
if (!goog.isNull(this.image_)) {
image = this.image_;
var imageExtent = image.getExtent();
var imageResolution = image.getResolution();
var transform = this.transform_;
@@ -111,5 +112,7 @@ ol.renderer.canvas.ImageLayer.prototype.renderFrame =
(imageExtent.minX - viewCenter.x) / imageResolution,
(viewCenter.y - imageExtent.maxY) / imageResolution,
0);
this.updateAttributions(frameState.attributions, image.getAttributions());
}
};
@@ -106,6 +106,8 @@ ol.renderer.dom.ImageLayer.prototype.renderFrame =
this.image_ = image;
}
this.setTransform(transform);
this.updateAttributions(frameState.attributions, image.getAttributions());
}
};
+18
View File
@@ -2,6 +2,7 @@ goog.provide('ol.renderer.Layer');
goog.require('goog.events');
goog.require('goog.events.EventType');
goog.require('ol.Attribution');
goog.require('ol.FrameState');
goog.require('ol.Image');
goog.require('ol.ImageState');
@@ -201,6 +202,23 @@ ol.renderer.Layer.prototype.scheduleExpireCache =
};
/**
* @protected
* @param {Object.<string, ol.Attribution>} attributionsSet Attributions
* set (target).
* @param {Array.<ol.Attribution>} attributions Attributions (source).
*/
ol.renderer.Layer.prototype.updateAttributions =
function(attributionsSet, attributions) {
var i;
var attribution;
for (i = 0; i < attributions.length; ++i) {
attribution = attributions[i];
attributionsSet[goog.getUid(attribution).toString()] = attribution;
}
};
/**
* @protected
* @param {Object.<string, Object.<string, ol.TileRange>>} usedTiles Used tiles.
@@ -198,6 +198,8 @@ ol.renderer.webgl.ImageLayer.prototype.renderFrame =
this.image_ = image;
this.texture_ = texture;
this.updateAttributions(frameState.attributions, image.getAttributions());
}
};