From f0a27ceaf0afa1f960387938433216760c0eeccb Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Fri, 8 Nov 2013 16:36:50 +0100 Subject: [PATCH] Add MultiPolygon drawing to batch --- src/ol/replay/canvas/canvasbatchgroup.js | 27 ++++++++++++++++++++++++ src/ol/replay/ibatchgroup.js | 8 +++++++ 2 files changed, 35 insertions(+) diff --git a/src/ol/replay/canvas/canvasbatchgroup.js b/src/ol/replay/canvas/canvasbatchgroup.js index bb50b01e8a..dccee8b341 100644 --- a/src/ol/replay/canvas/canvasbatchgroup.js +++ b/src/ol/replay/canvas/canvasbatchgroup.js @@ -209,6 +209,33 @@ ol.replay.canvas.Batch.prototype.drawMultiLineStringGeometry = }; +/** + * @inheritDoc + */ +ol.replay.canvas.Batch.prototype.drawMultiPolygonGeometry = + function(multiPolygonGeometry) { + goog.asserts.assert(!goog.isNull(this.state_)); + var ringss = multiPolygonGeometry.getRingss(); + var i, ii; + for (i = 0, ii = ringss.length; i < ii; ++i) { + var rings = ringss[i]; + var j, jj; + for (j = 0, jj = rings.length; j < jj; ++j) { + this.beginPath_(); + this.instructions_.push({ + type: ol.replay.canvas.InstructionType.MOVE_TO_LINE_TO, + argument: this.appendCoordinates_(rings[j], true) + }); + this.instructions_.push({ + type: ol.replay.canvas.InstructionType.CLOSE_PATH + }); + } + } + this.state_.fillPending = true; + this.state_.strokePending = true; +}; + + /** * @inheritDoc */ diff --git a/src/ol/replay/ibatchgroup.js b/src/ol/replay/ibatchgroup.js index 11a5ed0fc4..0b591a0ffe 100644 --- a/src/ol/replay/ibatchgroup.js +++ b/src/ol/replay/ibatchgroup.js @@ -41,6 +41,14 @@ ol.replay.IBatch.prototype.drawMultiLineStringGeometry = }; +/** + * @param {ol.geom.MultiPolygon} multiPolygonGeometry Multi polygon geometry. + */ +ol.replay.IBatch.prototype.drawMultiPolygonGeometry = + function(multiPolygonGeometry) { +}; + + /** * @param {ol.geom.Polygon} polygonGeometry Polygon geometry. */