New vector rendering for better performance and less renderer specific limitations. r=elemoine (closes #1675, closes #1656, closes #1631, closes #1431, closes #1709)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7930 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -103,13 +103,19 @@ OpenLayers.Renderer = OpenLayers.Class({
|
||||
* Resolution has probably changed, so we nullify the resolution
|
||||
* cache (this.resolution) -- this way it will be re-computed when
|
||||
* next it is needed.
|
||||
* We nullify the resolution cache (this.resolution) if resolutionChanged
|
||||
* is set to true - this way it will be re-computed on the next
|
||||
* getResolution() request.
|
||||
*
|
||||
* Parameters:
|
||||
* extent - {<OpenLayers.Bounds>}
|
||||
* extent - {<OpenLayers.Bounds>}
|
||||
* resolutionChanged - {Boolean}
|
||||
*/
|
||||
setExtent: function(extent) {
|
||||
setExtent: function(extent, resolutionChanged) {
|
||||
this.extent = extent.clone();
|
||||
this.resolution = null;
|
||||
if (resolutionChanged) {
|
||||
this.resolution = null;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -148,14 +154,21 @@ OpenLayers.Renderer = OpenLayers.Class({
|
||||
*
|
||||
* Parameters:
|
||||
* feature - {<OpenLayers.Feature.Vector>}
|
||||
* style - {<Object>}
|
||||
* style - {<Object>}
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean} true if the feature has been drawn completely, false if not,
|
||||
* undefined if the feature had no geometry
|
||||
*/
|
||||
drawFeature: function(feature, style) {
|
||||
if(style == null) {
|
||||
style = feature.style;
|
||||
}
|
||||
if (feature.geometry) {
|
||||
this.drawGeometry(feature.geometry, style, feature.id);
|
||||
if (!feature.geometry.getBounds().intersectsBounds(this.extent)) {
|
||||
style = {display: "none"};
|
||||
}
|
||||
return this.drawGeometry(feature.geometry, style, feature.id);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -223,4 +236,4 @@ OpenLayers.Renderer = OpenLayers.Class({
|
||||
eraseGeometry: function(geometry) {},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Renderer"
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user