From 297251661acb3e39808eac187733a6bd90658bb9 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 21 Nov 2013 12:08:43 +0100 Subject: [PATCH] Implement skipping of Polygon and MultiPolygon geometries --- src/ol/render/canvas/canvasreplay.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ol/render/canvas/canvasreplay.js b/src/ol/render/canvas/canvasreplay.js index c3703a0ff9..df764defca 100644 --- a/src/ol/render/canvas/canvasreplay.js +++ b/src/ol/render/canvas/canvasreplay.js @@ -637,10 +637,15 @@ ol.render.canvas.PolygonReplay.prototype.drawPolygonGeometry = } ol.extent.extend(this.extent_, polygonGeometry.getExtent()); this.setFillStrokeStyles_(); + var beginGeometryInstruction = + [ol.render.canvas.Instruction.BEGIN_GEOMETRY, polygonGeometry, 0, 0]; + this.instructions.push(beginGeometryInstruction); var ends = polygonGeometry.getEnds(); var flatCoordinates = polygonGeometry.getFlatCoordinates(); var stride = polygonGeometry.getStride(); this.drawFlatCoordinatess_(flatCoordinates, 0, ends, stride); + beginGeometryInstruction[2] = this.coordinates.length; + beginGeometryInstruction[3] = this.instructions.length; }; @@ -661,6 +666,9 @@ ol.render.canvas.PolygonReplay.prototype.drawMultiPolygonGeometry = } ol.extent.extend(this.extent_, multiPolygonGeometry.getExtent()); this.setFillStrokeStyles_(); + var beginGeometryInstruction = + [ol.render.canvas.Instruction.BEGIN_GEOMETRY, multiPolygonGeometry, 0, 0]; + this.instructions.push(beginGeometryInstruction); var endss = multiPolygonGeometry.getEndss(); var flatCoordinates = multiPolygonGeometry.getFlatCoordinates(); var stride = multiPolygonGeometry.getStride(); @@ -670,6 +678,8 @@ ol.render.canvas.PolygonReplay.prototype.drawMultiPolygonGeometry = offset = this.drawFlatCoordinatess_( flatCoordinates, offset, endss[i], stride); } + beginGeometryInstruction[2] = this.coordinates.length; + beginGeometryInstruction[3] = this.instructions.length; };