[OpenLayers-Commits] r11590 - sandbox/ahocevar/renderer-ng

commits-20090109 at openlayers.org commits-20090109 at openlayers.org
Tue Mar 1 03:36:24 EST 2011


Author: ahocevar
Date: 2011-03-01 00:36:23 -0800 (Tue, 01 Mar 2011)
New Revision: 11590

Removed:
   sandbox/ahocevar/renderer-ng/patch.diff
Log:
removing accidently committed file

Deleted: sandbox/ahocevar/renderer-ng/patch.diff
===================================================================
--- sandbox/ahocevar/renderer-ng/patch.diff	2011-02-28 22:02:50 UTC (rev 11589)
+++ sandbox/ahocevar/renderer-ng/patch.diff	2011-03-01 08:36:23 UTC (rev 11590)
@@ -1,355 +0,0 @@
-Index: tests/speed/vector-renderers.html
-===================================================================
---- tests/speed/vector-renderers.html	(revision 10646)
-+++ tests/speed/vector-renderers.html	(working copy)
-@@ -1,4 +1,5 @@
--<html xmlns="http://www.w3.org/1999/xhtml">
-+<!DOCTYPE html>
-+<html>
-   <head>
-     <title>Vector Features Performance Test</title>
-     <style type="text/css">
-@@ -17,10 +18,10 @@
-             map = new OpenLayers.Map('map', {
-                 eventListeners: {
-                     movestart: function() {
--                        console.time("move");
-+                        window.console && console.time && console.time("move");
-                     },
-                     moveend: function() {
--                        console.timeEnd("move");
-+                        window.console && console.timeEnd && console.timeEnd("move");
-                     }
-                 }
-             });
-@@ -34,10 +35,10 @@
-                 renderers: renderer,
-                 eventListeners: {
-                     beforefeaturesadded: function() {
--                        console.time("addFeatures");
-+                        window.console && console.time && console.time("addFeatures");
-                     },
-                     featuresadded: function() {
--                        console.timeEnd("addFeatures");
-+                        window.console && console.timeEnd && console.timeEnd("addFeatures");
-                     }
-                 }
-             });
-Index: lib/OpenLayers/Renderer.js
-===================================================================
---- lib/OpenLayers/Renderer.js	(revision 10646)
-+++ lib/OpenLayers/Renderer.js	(working copy)
-@@ -124,6 +124,28 @@
-         }
-     },
-     
-+    rescale: function(div, features) {
-+        if (features) {
-+            for (var i=0, len=features.length; i<len; i++) {
-+                this.locked = (i !== (len - 1));
-+                this.drawFeature(features[i]);
-+            }
-+        }
-+    },
-+    
-+    reposition: function(div) {
-+        this.root.style.visibility = "hidden";
-+
-+        div.style.left = -parseInt(this.map.layerContainerDiv.style.left) + "px";
-+        div.style.top = -parseInt(this.map.layerContainerDiv.style.top) + "px";
-+        var extent = this.map.getExtent();
-+        coordSysUnchanged = this.setExtent(extent, false);
-+
-+        this.root.style.visibility = "visible";
-+
-+        return coordSysUnchanged;
-+    },
-+    
-     /**
-      * Method: setSize
-      * Sets the size of the drawing surface.
-Index: lib/OpenLayers/Renderer/NG.js
-===================================================================
---- lib/OpenLayers/Renderer/NG.js	(revision 10646)
-+++ lib/OpenLayers/Renderer/NG.js	(working copy)
-@@ -49,21 +49,39 @@
-     },
- 
-     /**
--     * Method: setDimensions
--     * To be extended by subclasses
-+     * Method: rescale
-+     * To be called and extended by subclasses
-      *
-      * Parameters:
-      * div - {DOMElement}
-      */
--    setDimensions: function(div) {
--        var extent = this.map.getExtent();
-+    rescale: function(div, features) {
-+        // maxExtent might have changed, e.g. by switching to a new base layer
-         var maxExtent = this.map.getMaxExtent().scale(this.ratio);
-         this.setExtent(maxExtent, true);
-+        
-+        var extent = this.map.getExtent();        
-         var res = this.getResolution();
-         var left = parseFloat(div.parentNode.style.left);
-         var top = parseFloat(div.parentNode.style.top);
-         div.style.left = (maxExtent.left - extent.left) / res - left;
-         div.style.top = (extent.top - maxExtent.top) / res - top;
-+
-+        if (features) {
-+            var nodes = this.vectorRoot.childNodes;
-+            // update styles for the new resolution
-+            for (var i=0, len=nodes.length; i<len; ++i) {
-+                this.setStyle(nodes[i]);
-+            }
-+            var textNodes = this.textRoot.childNodes;
-+            var label;
-+            for (var i=0, len=textNodes.length; i<len; ++i) {
-+                var label = textNodes[i];
-+                this.drawText(label, label._style,
-+                    new OpenLayers.Geometry.Point(label._x, label._y)
-+                );
-+            }
-+        }
-     },
- 
-     /**
-Index: lib/OpenLayers/Renderer/SVG.js
-===================================================================
---- lib/OpenLayers/Renderer/SVG.js	(revision 10646)
-+++ lib/OpenLayers/Renderer/SVG.js	(working copy)
-@@ -61,6 +61,8 @@
-      * See https://bugs.webkit.org/show_bug.cgi?id=33322
-      */
-     supportUse: null,
-+    
-+    unrenderedFeatureCache: null,
- 
-     /**
-      * Constructor: OpenLayers.Renderer.SVG
-@@ -79,6 +81,7 @@
-         this.isGecko = (navigator.userAgent.toLowerCase().indexOf("gecko/") != -1);
-         
-         this.symbolMetrics = {};
-+        this.unrenderedFeatureCache = {};
-     },
- 
-     /**
-@@ -164,6 +167,42 @@
-         }
-     },
-     
-+    rescale: function(div, features) {
-+        this.unrenderedFeatureCache = {};
-+        OpenLayers.Renderer.Elements.prototype.rescale.apply(this, arguments);
-+    },
-+    
-+    reposition: function(div) {
-+        var coordSysUnchanged = OpenLayers.Renderer.Elements.prototype.reposition.apply(this, arguments);
-+
-+        // Force a reflow on gecko based browsers to prevent jump/flicker.
-+        // This seems to happen on only certain configurations; it was originally
-+        // noticed in FF 2.0 and Linux.
-+        if (navigator.userAgent.toLowerCase().indexOf("gecko") != -1) {
-+            div.scrollLeft = div.scrollLeft;
-+        }
-+
-+        if(!coordSysUnchanged) {
-+            var featureCache;
-+            for (var id in this.unrenderedFeatureCache) {
-+                featureCache = this.undrenderedFeatureCache[id];
-+                if (this.drawFeature(featureCache.feature, featureCache.style)) {
-+                    delete this.unrenderedFeatureCache[id];
-+                };
-+            }
-+        }
-+    },
-+    
-+    drawFeature: function(feature, style) {
-+        var drawn = OpenLayers.Renderer.Elements.prototype.drawFeature.apply(this, arguments);
-+        if (!drawn) {
-+            this.unrenderedFeatureCache[feature.id] = {
-+                feature: feature,
-+                style: style
-+            };
-+        }
-+    },
-+    
-     /**
-      * Method: translate
-      * Transforms the SVG coordinate system
-Index: lib/OpenLayers/Renderer/SVG2.js
-===================================================================
---- lib/OpenLayers/Renderer/SVG2.js	(revision 10646)
-+++ lib/OpenLayers/Renderer/SVG2.js	(working copy)
-@@ -77,23 +77,16 @@
-      * {Boolean} Whether or not the browser supports the SVG2 renderer
-      */
-     supported: function() {
--        var webkit = navigator.userAgent.match("AppleWebKit/([0-9]*)");
--        var gecko = navigator.userAgent.match("Gecko/([0-9]*)");
--        return ((webkit.length > 0 && webkit[1] >= 533) ||
--                (gecko.length > 0 && gecko[1] >= "20100722"));
-+        var svgFeature = "http://www.w3.org/TR/SVG11/feature#";
-+        return (document.implementation && 
-+           (document.implementation.hasFeature("org.w3c.svg", "1.0") || 
-+            document.implementation.hasFeature(svgFeature + "SVG", "1.1") || 
-+            document.implementation.hasFeature(svgFeature + "BasicStructure", "1.1") ));
-     },    
- 
--    /**
--     * Method: setDimensions
--     * 
--     * Parameters:
--     * div - {DOMElement}
--     */
--    setDimensions: function(div) {
--        OpenLayers.Renderer.NG.prototype.setDimensions.apply(this, arguments);
-+    setExtent: function(extent, resolutionChanged) {
-+        OpenLayers.Renderer.NG.prototype.setExtent.apply(this, arguments);
-         
--        var res = this.getResolution();
--        
-         var width = this.extent.getWidth();
-         var height = this.extent.getHeight();
-         
-@@ -106,22 +99,10 @@
-         
-         this.rendererRoot.setAttributeNS(null, "viewBox", extentString);
- 
-+        var res = this.getResolution();
-         this.rendererRoot.setAttributeNS(null, "width", width / res);
-         this.rendererRoot.setAttributeNS(null, "height", height / res);
-         
--        // update styles for the new resolution
--        var nodes = this.vectorRoot.childNodes;
--        for (var i=0, len=nodes.length; i<len; ++i) {
--            this.setStyle(nodes[i]);
--        }
--        var textNodes = this.textRoot.childNodes;
--        var label;
--        for (var i=0, len=textNodes.length; i<len; ++i) {
--            var label = textNodes[i];
--            this.drawText(label, label._style,
--                new OpenLayers.Geometry.Point(label._x, label._y)
--            );
--        }
-     },
-     
-     /** 
-Index: lib/OpenLayers/Layer/Vector.js
-===================================================================
---- lib/OpenLayers/Layer/Vector.js	(revision 10646)
-+++ lib/OpenLayers/Layer/Vector.js	(working copy)
-@@ -215,12 +215,6 @@
-      */
-     geometryType: null,
- 
--    /** 
--     * Property: drawn
--     * {Boolean} Whether the Vector Layer features have been drawn yet.
--     */
--    drawn: false,
--
-     /**
-      * Constructor: OpenLayers.Layer.Vector
-      * Create a new vector layer
-@@ -301,7 +295,6 @@
-         }
-         this.renderer = null;
-         this.geometryType = null;
--        this.drawn = null;
-         OpenLayers.Layer.prototype.destroy.apply(this, arguments);  
-     },
- 
-@@ -426,7 +419,7 @@
-      * map - {<OpenLayers.Map>}
-      */
-     removeMap: function(map) {
--        this.drawn = false;
-+        this.renderer.clear();
-         if(this.strategies) {
-             var strategy, i, len;
-             for(i=0, len=this.strategies.length; i<len; i++) {
-@@ -466,46 +459,15 @@
-     moveTo: function(bounds, zoomChanged, dragging) {
-         OpenLayers.Layer.prototype.moveTo.apply(this, arguments);
-         
--        var ng = (this.renderer instanceof OpenLayers.Renderer.NG);
--        if (ng) {
--            (!this.drawn || zoomChanged) && this.renderer.setDimensions(this.div);
--        } else {
--            var coordSysUnchanged = true;
--
--            if (!dragging) {
--                this.renderer.root.style.visibility = "hidden";
--
--                this.div.style.left = -parseInt(this.map.layerContainerDiv.style.left) + "px";
--                this.div.style.top = -parseInt(this.map.layerContainerDiv.style.top) + "px";
--                var extent = this.map.getExtent();
--                coordSysUnchanged = this.renderer.setExtent(extent, zoomChanged);
--
--                this.renderer.root.style.visibility = "visible";
--
--                // Force a reflow on gecko based browsers to prevent jump/flicker.
--                // This seems to happen on only certain configurations; it was originally
--                // noticed in FF 2.0 and Linux.
--                if (navigator.userAgent.toLowerCase().indexOf("gecko") != -1) {
--                    this.div.scrollLeft = this.div.scrollLeft;
--                }
--
--                if(!zoomChanged && coordSysUnchanged) {
--                    for(var i in this.unrenderedFeatures) {
--                        var feature = this.unrenderedFeatures[i];
--                        this.drawFeature(feature);
--                    }
--                }
--            }
-+        if (zoomChanged) {
-+            // different scale
-+            this.renderer.rescale(this.div);
-         }
--        if (!this.drawn || (!ng && (zoomChanged || !coordSysUnchanged))) {
--            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);
--            }
--        }    
-+        
-+        if (!this.dragging) {
-+            // on moveend
-+            this.renderer.reposition(this.div);
-+        }
-     },
-     
-     /** 
-@@ -774,11 +736,6 @@
-      * style - {String | Object} Named render intent or full symbolizer object.
-      */
-     drawFeature: function(feature, style) {
--        // don't try to draw the feature with the renderer if the layer is not 
--        // drawn itself
--        if (!this.drawn) {
--            return
--        }
-         if (typeof style != "object") {
-             if(!style && feature.state === OpenLayers.State.DELETE) {
-                 style = "delete";
-@@ -790,11 +747,7 @@
-             }
-         }
-         
--        if (!this.renderer.drawFeature(feature, style)) {
--            this.unrenderedFeatures[feature.id] = feature;
--        } else {
--            delete this.unrenderedFeatures[feature.id];
--        };
-+        this.renderer.drawFeature(feature, style);
-     },
-     
-     /**



More information about the Commits mailing list