Making it so the Canvas renderer does not draw features with display "none" or those with geometries outside the renderer extent. p=me,ahocevar r=erilem (closes #3224)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@11881 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -138,12 +138,15 @@ OpenLayers.Renderer.Canvas = OpenLayers.Class(OpenLayers.Renderer, {
|
||||
drawFeature: function(feature, style) {
|
||||
var rendered;
|
||||
if (feature.geometry) {
|
||||
style = style || feature.style;
|
||||
style = this.applyDefaultSymbolizer(style);
|
||||
|
||||
this.features[feature.id] = [feature, style];
|
||||
rendered = true;
|
||||
this.pendingRedraw = true;
|
||||
style = this.applyDefaultSymbolizer(style || feature.style);
|
||||
// don't render if display none or feature outside extent
|
||||
rendered = (style.display !== "none") &&
|
||||
feature.geometry.getBounds().intersectsBounds(this.extent);
|
||||
if (rendered) {
|
||||
// keep track of what we have rendered for redraw
|
||||
this.features[feature.id] = [feature, style];
|
||||
this.pendingRedraw = true;
|
||||
}
|
||||
}
|
||||
if (this.pendingRedraw && !this.locked) {
|
||||
this.redraw();
|
||||
|
||||
Reference in New Issue
Block a user