Merge pull request #3 from ahocevar/deprecate-svg2-ng

Monkey-patching Layer.Vector with deprecated Renderer.NG logic
This commit is contained in:
Frédéric Junod
2012-03-14 04:35:25 -07:00

View File

@@ -5105,6 +5105,35 @@ OpenLayers.Renderer.NG = OpenLayers.Class(OpenLayers.Renderer.Elements, {
CLASS_NAME: "OpenLayers.Renderer.NG"
});
// Monkey-patching Layer.Vector for Renderer.NG support
(function() {
var moveTo = OpenLayers.Layer.Vector.prototype.moveTo;
OpenLayers.Layer.Vector.prototype.moveTo = function(bounds, zoomChanged, dragging) {
if (OpenLayers.Renderer.NG && this.renderer instanceof OpenLayers.Renderer.NG) {
OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
dragging || this.renderer.updateDimensions(zoomChanged);
if (!this.drawn) {
this.drawn = true;
var feature;
for(var i=0, len=this.features.length; i<len; i++) {
this.renderer.locked = (i !== (len - 1));
feature = this.features[i];
this.drawFeature(feature);
}
}
} else {
moveTo.apply(this, arguments);
}
}
var redraw = OpenLayers.Layer.Vector.prototype.redraw;
OpenLayers.Layer.Vector.prototype.redraw = function() {
if (OpenLayers.Renderer.NG && this.renderer instanceof OpenLayers.Renderer.NG) {
this.drawn = false;
}
redraw.apply(this, arguments);
}
})();
/**
* Class: OpenLayers.Renderer.SVG2
*
@@ -5892,4 +5921,4 @@ OpenLayers.Renderer.SVG2.LABEL_VFACTOR = {
*/
OpenLayers.Renderer.SVG2.preventDefault = function(e) {
e.preventDefault && e.preventDefault();
};
};