diff --git a/changelog/upgrade-notes.md b/changelog/upgrade-notes.md index a835d4a556..6222ababc1 100644 --- a/changelog/upgrade-notes.md +++ b/changelog/upgrade-notes.md @@ -1,6 +1,35 @@ ## Upgrade notes -### v3.15.0 +### + +#### Immediate rendering API + +Listeners for `precompose`, `render`, and `postcompose` receive an event with a `vectorContext` property with methods for immediate vector rendering. The previous geometry drawing methods have been replaced with a single `vectorContext.drawGeometry(geometry)` method. If you were using any of the following experimental methods on the vector context, replace them with `drawGeometry`: + + * Removed experimental geometry drawing methods: `drawPointGeometry`, `drawLineStringGeometry`, `drawPolygonGeometry`, `drawMultiPointGeometry`, `drawMultiLineStringGeometry`, `drawMultiPolygonGeometry`, and `drawCircleGeometry` (all have been replaced with `drawGeometry`). + +In addition, the previous methods for setting style parts have been replaced with a single `vectorContext.setStyle(style)` method. If you were using any of the following experimental methods on the vector context, replace them with `setStyle`: + + * Removed experimental style setting methods: `setFillStrokeStyle`, `setImageStyle`, `setTextStyle` (all have been replaced with `setStyle`). + +Below is an example of how the vector context may have been used in the past: + +```js +// OLD WAY, NO LONGER SUPPORTED +map.on('postcompose', function(event) { + event.vectorContext.setFillStrokeStyle(style.getStroke(), style.getFill()); + event.vectorContext.drawPointGeometry(geometry); +}); +``` + +Here is an example of how you could accomplish the same with the new methods: +```js +// NEW WAY, USE THIS INSTEAD OF THE CODE ABOVE +map.on('postcompose', function(event) { + event.vectorContext.setStyle(style); + event.vectorContext.drawGeometry(geometry); +}); +``` #### Removal of `ol.DEFAULT_TILE_CACHE_HIGH_WATER_MARK` diff --git a/src/ol/render/canvas/canvasimmediate.js b/src/ol/render/canvas/canvasimmediate.js index f727058498..ea2a51b18a 100644 --- a/src/ol/render/canvas/canvasimmediate.js +++ b/src/ol/render/canvas/canvasimmediate.js @@ -569,7 +569,6 @@ ol.render.canvas.Immediate.prototype.drawGeometryCollectionGeometry = function(g * the current style. * * @param {ol.geom.Point|ol.render.Feature} pointGeometry Point geometry. - * @api */ ol.render.canvas.Immediate.prototype.drawPointGeometry = function(pointGeometry) { var flatCoordinates = pointGeometry.getFlatCoordinates(); @@ -589,7 +588,6 @@ ol.render.canvas.Immediate.prototype.drawPointGeometry = function(pointGeometry) * * @param {ol.geom.MultiPoint|ol.render.Feature} multiPointGeometry MultiPoint * geometry. - * @api */ ol.render.canvas.Immediate.prototype.drawMultiPointGeometry = function(multiPointGeometry) { var flatCoordinates = multiPointGeometry.getFlatCoordinates(); @@ -609,7 +607,6 @@ ol.render.canvas.Immediate.prototype.drawMultiPointGeometry = function(multiPoin * * @param {ol.geom.LineString|ol.render.Feature} lineStringGeometry Line * string geometry. - * @api */ ol.render.canvas.Immediate.prototype.drawLineStringGeometry = function(lineStringGeometry) { if (!ol.extent.intersects(this.extent_, lineStringGeometry.getExtent())) { @@ -637,7 +634,6 @@ ol.render.canvas.Immediate.prototype.drawLineStringGeometry = function(lineStrin * * @param {ol.geom.MultiLineString|ol.render.Feature} multiLineStringGeometry * MultiLineString geometry. - * @api */ ol.render.canvas.Immediate.prototype.drawMultiLineStringGeometry = function(multiLineStringGeometry) { var geometryExtent = multiLineStringGeometry.getExtent(); @@ -672,7 +668,6 @@ ol.render.canvas.Immediate.prototype.drawMultiLineStringGeometry = function(mult * * @param {ol.geom.Polygon|ol.render.Feature} polygonGeometry Polygon * geometry. - * @api */ ol.render.canvas.Immediate.prototype.drawPolygonGeometry = function(polygonGeometry) { if (!ol.extent.intersects(this.extent_, polygonGeometry.getExtent())) { @@ -707,7 +702,6 @@ ol.render.canvas.Immediate.prototype.drawPolygonGeometry = function(polygonGeome * Render MultiPolygon geometry into the canvas. Rendering is immediate and * uses the current style. * @param {ol.geom.MultiPolygon} multiPolygonGeometry MultiPolygon geometry. - * @api */ ol.render.canvas.Immediate.prototype.drawMultiPolygonGeometry = function(multiPolygonGeometry) { if (!ol.extent.intersects(this.extent_, multiPolygonGeometry.getExtent())) { @@ -871,7 +865,6 @@ ol.render.canvas.Immediate.prototype.setContextTextState_ = function(textState) * * @param {ol.style.Fill} fillStyle Fill style. * @param {ol.style.Stroke} strokeStyle Stroke style. - * @api */ ol.render.canvas.Immediate.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { if (!fillStyle) { @@ -915,7 +908,6 @@ ol.render.canvas.Immediate.prototype.setFillStrokeStyle = function(fillStyle, st * the image style. * * @param {ol.style.Image} imageStyle Image style. - * @api */ ol.render.canvas.Immediate.prototype.setImageStyle = function(imageStyle) { if (!imageStyle) { @@ -951,7 +943,6 @@ ol.render.canvas.Immediate.prototype.setImageStyle = function(imageStyle) { * remove the text style. * * @param {ol.style.Text} textStyle Text style. - * @api */ ol.render.canvas.Immediate.prototype.setTextStyle = function(textStyle) { if (!textStyle) { diff --git a/src/ol/render/webgl/webglimmediate.js b/src/ol/render/webgl/webglimmediate.js index ddde7db05a..9ab0fd6b65 100644 --- a/src/ol/render/webgl/webglimmediate.js +++ b/src/ol/render/webgl/webglimmediate.js @@ -169,7 +169,6 @@ ol.render.webgl.Immediate.prototype.drawGeometryCollectionGeometry = function(ge /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.drawPointGeometry = function(pointGeometry, data) { var context = this.context_; @@ -193,7 +192,6 @@ ol.render.webgl.Immediate.prototype.drawPointGeometry = function(pointGeometry, /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.drawLineStringGeometry = function(lineStringGeometry, data) { }; @@ -201,7 +199,6 @@ ol.render.webgl.Immediate.prototype.drawLineStringGeometry = function(lineString /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.drawMultiLineStringGeometry = function(multiLineStringGeometry, data) { }; @@ -209,7 +206,6 @@ ol.render.webgl.Immediate.prototype.drawMultiLineStringGeometry = function(multi /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.drawMultiPointGeometry = function(multiPointGeometry, data) { var context = this.context_; @@ -232,7 +228,6 @@ ol.render.webgl.Immediate.prototype.drawMultiPointGeometry = function(multiPoint /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.drawMultiPolygonGeometry = function(multiPolygonGeometry, data) { }; @@ -240,7 +235,6 @@ ol.render.webgl.Immediate.prototype.drawMultiPolygonGeometry = function(multiPol /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.drawPolygonGeometry = function(polygonGeometry, data) { }; @@ -248,7 +242,6 @@ ol.render.webgl.Immediate.prototype.drawPolygonGeometry = function(polygonGeomet /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.drawText = function(flatCoordinates, offset, end, stride, geometry, data) { }; @@ -256,7 +249,6 @@ ol.render.webgl.Immediate.prototype.drawText = function(flatCoordinates, offset, /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { }; @@ -264,7 +256,6 @@ ol.render.webgl.Immediate.prototype.setFillStrokeStyle = function(fillStyle, str /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.setImageStyle = function(imageStyle) { this.imageStyle_ = imageStyle; @@ -273,7 +264,6 @@ ol.render.webgl.Immediate.prototype.setImageStyle = function(imageStyle) { /** * @inheritDoc - * @api */ ol.render.webgl.Immediate.prototype.setTextStyle = function(textStyle) { };