Refactor DOM renderer to use only CSS transforms

This commit is contained in:
Tom Payne
2013-01-04 21:25:52 +01:00
parent 032aa8b7c8
commit aba686d22d
3 changed files with 315 additions and 339 deletions

View File

@@ -1,6 +1,7 @@
goog.provide('ol.renderer.dom.Layer');
goog.require('ol.Coordinate');
goog.require('ol.layer.Layer');
goog.require('ol.renderer.Layer');
@@ -13,6 +14,7 @@ goog.require('ol.renderer.Layer');
* @param {!Element} target Target.
*/
ol.renderer.dom.Layer = function(mapRenderer, layer, target) {
goog.base(this, mapRenderer, layer);
/**
@@ -21,27 +23,15 @@ ol.renderer.dom.Layer = function(mapRenderer, layer, target) {
*/
this.target = target;
/**
* Top left corner of the target in map coords.
*
* @type {ol.Coordinate}
* @protected
*/
this.origin = null;
this.handleLayerOpacityChange();
this.handleLayerVisibleChange();
};
goog.inherits(ol.renderer.dom.Layer, ol.renderer.Layer);
/**
* @inheritDoc
* @return {ol.renderer.Map} Map renderer.
* @return {!Element} Target.
*/
ol.renderer.dom.Layer.prototype.getMapRenderer = function() {
return /** @type {ol.renderer.dom.Map} */ (goog.base(this, 'getMapRenderer'));
ol.renderer.dom.Layer.prototype.getTarget = function() {
return this.target;
};
@@ -57,7 +47,7 @@ ol.renderer.dom.Layer.prototype.handleLayerLoad = function() {
* @inheritDoc
*/
ol.renderer.dom.Layer.prototype.handleLayerOpacityChange = function() {
goog.style.setOpacity(this.target, this.getLayer().getOpacity());
this.getMap().render();
};
@@ -65,22 +55,11 @@ ol.renderer.dom.Layer.prototype.handleLayerOpacityChange = function() {
* @inheritDoc
*/
ol.renderer.dom.Layer.prototype.handleLayerVisibleChange = function() {
goog.style.showElement(this.target, this.getLayer().getVisible());
this.getMap().render();
};
/**
* Render.
* @param {number} time Time.
*/
ol.renderer.dom.Layer.prototype.renderFrame = goog.abstractMethod;
/**
* Set the location of the top left corner of the target.
*
* @param {ol.Coordinate} origin Origin.
*/
ol.renderer.dom.Layer.prototype.setOrigin = function(origin) {
this.origin = origin;
};