Listen for target resizes in ol.MapRenderer

This commit is contained in:
Tom Payne
2012-07-11 21:21:38 +02:00
parent 5c40e1d570
commit 7a4e3aa323
+31
View File
@@ -2,6 +2,8 @@ goog.provide('ol.MapRenderer');
goog.require('goog.array'); goog.require('goog.array');
goog.require('goog.events'); goog.require('goog.events');
goog.require('goog.events.Event');
goog.require('goog.events.EventType');
goog.require('goog.object'); goog.require('goog.object');
goog.require('ol.Array'); goog.require('ol.Array');
goog.require('ol.Camera'); goog.require('ol.Camera');
@@ -38,6 +40,12 @@ ol.MapRenderer = function(target, opt_values) {
*/ */
this.target_ = target; this.target_ = target;
/**
* @private
* @type {goog.math.Size}
*/
this.size_ = new goog.math.Size(target.clientWidth, target.clientHeight);
/** /**
* @private * @private
* @type {Array.<number>} * @type {Array.<number>}
@@ -56,6 +64,9 @@ ol.MapRenderer = function(target, opt_values) {
*/ */
this.layerRenderers_ = {}; this.layerRenderers_ = {};
goog.events.listen(target, goog.events.EventType.RESIZE,
this.handleTargetResize, false, this);
goog.events.listen( goog.events.listen(
this, ol.Object.getChangedEventType(ol.MapRendererProperty.CAMERA), this, ol.Object.getChangedEventType(ol.MapRendererProperty.CAMERA),
this.handleCameraChanged, false, this); this.handleCameraChanged, false, this);
@@ -105,6 +116,15 @@ ol.MapRenderer.prototype.getProjection = function() {
}; };
/**
* @protected
* @return {goog.math.Size} Size.
*/
ol.MapRenderer.prototype.getSize = function() {
return this.size_;
};
/** /**
* @return {HTMLDivElement} Target. * @return {HTMLDivElement} Target.
*/ */
@@ -219,6 +239,17 @@ ol.MapRenderer.prototype.handleLayersChanged = function() {
}; };
/**
* @param {goog.events.Event} event Event.
* @protected
*/
ol.MapRenderer.prototype.handleTargetResize = function(event) {
goog.asserts.assert(event.target == this.target_);
this.size_.width = this.target_.clientWidth;
this.size_.height = this.target_.clientHeight;
};
/** /**
* @param {ol.Camera} camera Camera. * @param {ol.Camera} camera Camera.
*/ */