diff --git a/src/ol/replay/canvas/canvasreplay.js b/src/ol/replay/canvas/canvasreplay.js index 71628695c1..ce69447dda 100644 --- a/src/ol/replay/canvas/canvasreplay.js +++ b/src/ol/replay/canvas/canvasreplay.js @@ -339,6 +339,38 @@ ol.replay.canvas.PolygonBatch = function() { goog.inherits(ol.replay.canvas.PolygonBatch, ol.replay.canvas.Batch); +/** + * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.} ends Ends. + * @param {number} stride Stride. + * @private + */ +ol.replay.canvas.PolygonBatch.prototype.drawFlatCoordinatess_ = + function(flatCoordinates, offset, ends, stride) { + var state = this.state_; + this.instructions.push([ol.replay.canvas.Instruction.BEGIN_PATH]); + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var myEnd = + this.appendFlatCoordinates(flatCoordinates, offset, end, stride, true); + this.instructions.push( + [ol.replay.canvas.Instruction.MOVE_TO_LINE_TO, myEnd], + [ol.replay.canvas.Instruction.CLOSE_PATH]); + offset = end; + } + // FIXME is it quicker to fill and stroke each polygon individually, + // FIXME or all polygons together? + if (!goog.isNull(state.fillStyle)) { + this.instructions.push([ol.replay.canvas.Instruction.FILL]); + } + if (!goog.isNull(state.strokeStyle)) { + this.instructions.push([ol.replay.canvas.Instruction.STROKE]); + } +}; + + /** * @param {Array.>} rings Rings. * @private