From a8f5dff9cf4841f5fffdfa8be518ab9b3655f26d Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sun, 12 Jan 2014 20:39:29 +0100 Subject: [PATCH] Add ol.render.canvas.Immediate#drawCircleGeometry --- src/ol/render/canvas/canvasimmediate.js | 36 ++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/ol/render/canvas/canvasimmediate.js b/src/ol/render/canvas/canvasimmediate.js index e0493fd144..ec8c7deeef 100644 --- a/src/ol/render/canvas/canvasimmediate.js +++ b/src/ol/render/canvas/canvasimmediate.js @@ -263,6 +263,39 @@ ol.render.canvas.Immediate.prototype.drawAsync = function(zIndex, callback) { }; +/** + * @inheritDoc + */ +ol.render.canvas.Immediate.prototype.drawCircleGeometry = + function(circleGeometry, data) { + /* + if (!ol.extent.intersects(this.extent_, circleGeometry.getExtent())) { + return; + } + var state = this.state_; + if (!goog.isDef(state.fillStyle) && !goog.isDef(state.strokeStyle)) { + return; + } + this.setFillStrokeStyles_(); + var context = this.context_; + var pixelCoordinates = ol.geom.transformSimpleGeometry2D( + circleGeometry, this.transform_, this.pixelCoordinates_); + var dx = pixelCoordinates[2] - pixelCoordinates[0]; + var dy = pixelCoordinates[3] - pixelCoordinates[1]; + var radius = Math.sqrt(dx * dx + dy * dy); + context.beginPath(); + context.arc(pixelCoordinates[0], pixelCoordinates[1], radius, 0, 2 * Math.PI); + if (goog.isDef(state.fillStyle)) { + context.fill(); + } + if (goog.isDef(state.strokeStyle)) { + goog.asserts.assert(goog.isDef(state.lineWidth)); + context.stroke(); + } + */ +}; + + /** * @inheritDoc */ @@ -597,5 +630,6 @@ ol.render.canvas.Immediate.GEOMETRY_RENDERES_ = { ol.render.canvas.Immediate.prototype.drawMultiLineStringGeometry, 'MultiPolygon': ol.render.canvas.Immediate.prototype.drawMultiPolygonGeometry, 'GeometryCollection': - ol.render.canvas.Immediate.prototype.drawGeometryCollectionGeometry + ol.render.canvas.Immediate.prototype.drawGeometryCollectionGeometry, + 'Circle': ol.render.canvas.Immediate.prototype.drawCircleGeometry };