Named exports from ol/renderer/vector

This commit is contained in:
Tim Schaub
2018-02-09 10:03:00 -07:00
parent 9c1db1f904
commit ce12dc1253
7 changed files with 150 additions and 157 deletions

View File

@@ -14,7 +14,7 @@ import _ol_render_canvas_ from '../../render/canvas.js';
import CanvasReplayGroup from '../../render/canvas/ReplayGroup.js'; import CanvasReplayGroup from '../../render/canvas/ReplayGroup.js';
import RendererType from '../Type.js'; import RendererType from '../Type.js';
import CanvasLayerRenderer from '../canvas/Layer.js'; import CanvasLayerRenderer from '../canvas/Layer.js';
import _ol_renderer_vector_ from '../vector.js'; import {defaultOrder as defaultRenderOrder, getTolerance as getRenderTolerance, getSquaredTolerance as getSquaredRenderTolerance, renderFeature} from '../vector.js';
/** /**
* @constructor * @constructor
@@ -321,7 +321,7 @@ CanvasVectorLayerRenderer.prototype.prepareFrame = function(frameState, layerSta
let vectorLayerRenderOrder = vectorLayer.getRenderOrder(); let vectorLayerRenderOrder = vectorLayer.getRenderOrder();
if (vectorLayerRenderOrder === undefined) { if (vectorLayerRenderOrder === undefined) {
vectorLayerRenderOrder = _ol_renderer_vector_.defaultOrder; vectorLayerRenderOrder = defaultRenderOrder;
} }
const extent = buffer(frameStateExtent, const extent = buffer(frameStateExtent,
@@ -355,14 +355,14 @@ CanvasVectorLayerRenderer.prototype.prepareFrame = function(frameState, layerSta
this.dirty_ = false; this.dirty_ = false;
const replayGroup = new CanvasReplayGroup( const replayGroup = new CanvasReplayGroup(
_ol_renderer_vector_.getTolerance(resolution, pixelRatio), extent, resolution, getRenderTolerance(resolution, pixelRatio), extent, resolution,
pixelRatio, vectorSource.getOverlaps(), this.declutterTree_, vectorLayer.getRenderBuffer()); pixelRatio, vectorSource.getOverlaps(), this.declutterTree_, vectorLayer.getRenderBuffer());
vectorSource.loadFeatures(extent, resolution, projection); vectorSource.loadFeatures(extent, resolution, projection);
/** /**
* @param {ol.Feature} feature Feature. * @param {ol.Feature} feature Feature.
* @this {ol.renderer.canvas.VectorLayer} * @this {ol.renderer.canvas.VectorLayer}
*/ */
const renderFeature = function(feature) { const render = function(feature) {
let styles; let styles;
let styleFunction = feature.getStyleFunction(); let styleFunction = feature.getStyleFunction();
if (styleFunction) { if (styleFunction) {
@@ -391,10 +391,10 @@ CanvasVectorLayerRenderer.prototype.prepareFrame = function(frameState, layerSta
}, this); }, this);
features.sort(vectorLayerRenderOrder); features.sort(vectorLayerRenderOrder);
for (let i = 0, ii = features.length; i < ii; ++i) { for (let i = 0, ii = features.length; i < ii; ++i) {
renderFeature(features[i]); render(features[i]);
} }
} else { } else {
vectorSource.forEachFeatureInExtent(extent, renderFeature, this); vectorSource.forEachFeatureInExtent(extent, render, this);
} }
replayGroup.finish(); replayGroup.finish();
@@ -425,15 +425,15 @@ CanvasVectorLayerRenderer.prototype.renderFeature = function(feature, resolution
let loading = false; let loading = false;
if (Array.isArray(styles)) { if (Array.isArray(styles)) {
for (let i = 0, ii = styles.length; i < ii; ++i) { for (let i = 0, ii = styles.length; i < ii; ++i) {
loading = _ol_renderer_vector_.renderFeature( loading = renderFeature(
replayGroup, feature, styles[i], replayGroup, feature, styles[i],
_ol_renderer_vector_.getSquaredTolerance(resolution, pixelRatio), getSquaredRenderTolerance(resolution, pixelRatio),
this.handleStyleImageChange_, this) || loading; this.handleStyleImageChange_, this) || loading;
} }
} else { } else {
loading = _ol_renderer_vector_.renderFeature( loading = renderFeature(
replayGroup, feature, styles, replayGroup, feature, styles,
_ol_renderer_vector_.getSquaredTolerance(resolution, pixelRatio), getSquaredRenderTolerance(resolution, pixelRatio),
this.handleStyleImageChange_, this); this.handleStyleImageChange_, this);
} }
return loading; return loading;

View File

@@ -18,7 +18,7 @@ import CanvasReplayGroup from '../../render/canvas/ReplayGroup.js';
import _ol_render_replay_ from '../../render/replay.js'; import _ol_render_replay_ from '../../render/replay.js';
import RendererType from '../Type.js'; import RendererType from '../Type.js';
import CanvasTileLayerRenderer from '../canvas/TileLayer.js'; import CanvasTileLayerRenderer from '../canvas/TileLayer.js';
import _ol_renderer_vector_ from '../vector.js'; import {getSquaredTolerance as getSquaredRenderTolerance, renderFeature} from '../vector.js';
import _ol_transform_ from '../../transform.js'; import _ol_transform_ from '../../transform.js';
/** /**
@@ -192,14 +192,14 @@ CanvasVectorTileLayerRenderer.prototype.createReplayGroup_ = function(
replayState.dirty = false; replayState.dirty = false;
const replayGroup = new CanvasReplayGroup(0, sharedExtent, resolution, const replayGroup = new CanvasReplayGroup(0, sharedExtent, resolution,
pixelRatio, source.getOverlaps(), this.declutterTree_, layer.getRenderBuffer()); pixelRatio, source.getOverlaps(), this.declutterTree_, layer.getRenderBuffer());
const squaredTolerance = _ol_renderer_vector_.getSquaredTolerance( const squaredTolerance = getSquaredRenderTolerance(
resolution, pixelRatio); resolution, pixelRatio);
/** /**
* @param {ol.Feature|ol.render.Feature} feature Feature. * @param {ol.Feature|ol.render.Feature} feature Feature.
* @this {ol.renderer.canvas.VectorTileLayer} * @this {ol.renderer.canvas.VectorTileLayer}
*/ */
const renderFeature = function(feature) { const render = function(feature) {
let styles; let styles;
let styleFunction = feature.getStyleFunction(); let styleFunction = feature.getStyleFunction();
if (styleFunction) { if (styleFunction) {
@@ -234,7 +234,7 @@ CanvasVectorTileLayerRenderer.prototype.createReplayGroup_ = function(
feature.getGeometry().transform(tileProjection, projection); feature.getGeometry().transform(tileProjection, projection);
} }
if (!bufferedExtent || intersects(bufferedExtent, feature.getGeometry().getExtent())) { if (!bufferedExtent || intersects(bufferedExtent, feature.getGeometry().getExtent())) {
renderFeature.call(this, feature); render.call(this, feature);
} }
} }
replayGroup.finish(); replayGroup.finish();
@@ -466,12 +466,12 @@ CanvasVectorTileLayerRenderer.prototype.renderFeature = function(feature, square
let loading = false; let loading = false;
if (Array.isArray(styles)) { if (Array.isArray(styles)) {
for (let i = 0, ii = styles.length; i < ii; ++i) { for (let i = 0, ii = styles.length; i < ii; ++i) {
loading = _ol_renderer_vector_.renderFeature( loading = renderFeature(
replayGroup, feature, styles[i], squaredTolerance, replayGroup, feature, styles[i], squaredTolerance,
this.handleStyleImageChange_, this) || loading; this.handleStyleImageChange_, this) || loading;
} }
} else { } else {
loading = _ol_renderer_vector_.renderFeature( loading = renderFeature(
replayGroup, feature, styles, squaredTolerance, replayGroup, feature, styles, squaredTolerance,
this.handleStyleImageChange_, this); this.handleStyleImageChange_, this);
} }

View File

@@ -5,7 +5,6 @@ import {getUid} from '../index.js';
import ImageState from '../ImageState.js'; import ImageState from '../ImageState.js';
import GeometryType from '../geom/GeometryType.js'; import GeometryType from '../geom/GeometryType.js';
import ReplayType from '../render/ReplayType.js'; import ReplayType from '../render/ReplayType.js';
const _ol_renderer_vector_ = {};
/** /**
@@ -14,14 +13,32 @@ const _ol_renderer_vector_ = {};
const SIMPLIFY_TOLERANCE = 0.5; const SIMPLIFY_TOLERANCE = 0.5;
/**
* @const
* @type {Object.<ol.geom.GeometryType,
* function(ol.render.ReplayGroup, ol.geom.Geometry,
* ol.style.Style, Object)>}
*/
const GEOMETRY_RENDERERS = {
'Point': renderPointGeometry,
'LineString': renderLineStringGeometry,
'Polygon': renderPolygonGeometry,
'MultiPoint': renderMultiPointGeometry,
'MultiLineString': renderMultiLineStringGeometry,
'MultiPolygon': renderMultiPolygonGeometry,
'GeometryCollection': renderGeometryCollectionGeometry,
'Circle': renderCircleGeometry
};
/** /**
* @param {ol.Feature|ol.render.Feature} feature1 Feature 1. * @param {ol.Feature|ol.render.Feature} feature1 Feature 1.
* @param {ol.Feature|ol.render.Feature} feature2 Feature 2. * @param {ol.Feature|ol.render.Feature} feature2 Feature 2.
* @return {number} Order. * @return {number} Order.
*/ */
_ol_renderer_vector_.defaultOrder = function(feature1, feature2) { export function defaultOrder(feature1, feature2) {
return getUid(feature1) - getUid(feature2); return getUid(feature1) - getUid(feature2);
}; }
/** /**
@@ -29,10 +46,10 @@ _ol_renderer_vector_.defaultOrder = function(feature1, feature2) {
* @param {number} pixelRatio Pixel ratio. * @param {number} pixelRatio Pixel ratio.
* @return {number} Squared pixel tolerance. * @return {number} Squared pixel tolerance.
*/ */
_ol_renderer_vector_.getSquaredTolerance = function(resolution, pixelRatio) { export function getSquaredTolerance(resolution, pixelRatio) {
const tolerance = _ol_renderer_vector_.getTolerance(resolution, pixelRatio); const tolerance = getTolerance(resolution, pixelRatio);
return tolerance * tolerance; return tolerance * tolerance;
}; }
/** /**
@@ -40,9 +57,9 @@ _ol_renderer_vector_.getSquaredTolerance = function(resolution, pixelRatio) {
* @param {number} pixelRatio Pixel ratio. * @param {number} pixelRatio Pixel ratio.
* @return {number} Pixel tolerance. * @return {number} Pixel tolerance.
*/ */
_ol_renderer_vector_.getTolerance = function(resolution, pixelRatio) { export function getTolerance(resolution, pixelRatio) {
return SIMPLIFY_TOLERANCE * resolution / pixelRatio; return SIMPLIFY_TOLERANCE * resolution / pixelRatio;
}; }
/** /**
@@ -50,9 +67,8 @@ _ol_renderer_vector_.getTolerance = function(resolution, pixelRatio) {
* @param {ol.geom.Circle} geometry Geometry. * @param {ol.geom.Circle} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature} feature Feature. * @param {ol.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderCircleGeometry_ = function(replayGroup, geometry, style, feature) { function renderCircleGeometry(replayGroup, geometry, style, feature) {
const fillStyle = style.getFill(); const fillStyle = style.getFill();
const strokeStyle = style.getStroke(); const strokeStyle = style.getStroke();
if (fillStyle || strokeStyle) { if (fillStyle || strokeStyle) {
@@ -66,7 +82,7 @@ _ol_renderer_vector_.renderCircleGeometry_ = function(replayGroup, geometry, sty
textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false)); textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
textReplay.drawText(geometry, feature); textReplay.drawText(geometry, feature);
} }
}; }
/** /**
@@ -79,8 +95,7 @@ _ol_renderer_vector_.renderCircleGeometry_ = function(replayGroup, geometry, sty
* @return {boolean} `true` if style is loading. * @return {boolean} `true` if style is loading.
* @template T * @template T
*/ */
_ol_renderer_vector_.renderFeature = function( export function renderFeature(replayGroup, feature, style, squaredTolerance, listener, thisArg) {
replayGroup, feature, style, squaredTolerance, listener, thisArg) {
let loading = false; let loading = false;
const imageStyle = style.getImage(); const imageStyle = style.getImage();
if (imageStyle) { if (imageStyle) {
@@ -96,11 +111,10 @@ _ol_renderer_vector_.renderFeature = function(
loading = true; loading = true;
} }
} }
_ol_renderer_vector_.renderFeature_(replayGroup, feature, style, renderFeatureInternal(replayGroup, feature, style, squaredTolerance);
squaredTolerance);
return loading; return loading;
}; }
/** /**
@@ -108,10 +122,8 @@ _ol_renderer_vector_.renderFeature = function(
* @param {ol.Feature|ol.render.Feature} feature Feature. * @param {ol.Feature|ol.render.Feature} feature Feature.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {number} squaredTolerance Squared tolerance. * @param {number} squaredTolerance Squared tolerance.
* @private
*/ */
_ol_renderer_vector_.renderFeature_ = function( function renderFeatureInternal(replayGroup, feature, style, squaredTolerance) {
replayGroup, feature, style, squaredTolerance) {
const geometry = style.getGeometryFunction()(feature); const geometry = style.getGeometryFunction()(feature);
if (!geometry) { if (!geometry) {
return; return;
@@ -119,13 +131,12 @@ _ol_renderer_vector_.renderFeature_ = function(
const simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTolerance); const simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTolerance);
const renderer = style.getRenderer(); const renderer = style.getRenderer();
if (renderer) { if (renderer) {
_ol_renderer_vector_.renderGeometry_(replayGroup, simplifiedGeometry, style, feature); renderGeometry(replayGroup, simplifiedGeometry, style, feature);
} else { } else {
const geometryRenderer = const geometryRenderer = GEOMETRY_RENDERERS[simplifiedGeometry.getType()];
_ol_renderer_vector_.GEOMETRY_RENDERERS_[simplifiedGeometry.getType()];
geometryRenderer(replayGroup, simplifiedGeometry, style, feature); geometryRenderer(replayGroup, simplifiedGeometry, style, feature);
} }
}; }
/** /**
@@ -133,19 +144,18 @@ _ol_renderer_vector_.renderFeature_ = function(
* @param {ol.geom.Geometry} geometry Geometry. * @param {ol.geom.Geometry} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature. * @param {ol.Feature|ol.render.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderGeometry_ = function(replayGroup, geometry, style, feature) { function renderGeometry(replayGroup, geometry, style, feature) {
if (geometry.getType() == GeometryType.GEOMETRY_COLLECTION) { if (geometry.getType() == GeometryType.GEOMETRY_COLLECTION) {
const geometries = /** @type {ol.geom.GeometryCollection} */ (geometry).getGeometries(); const geometries = /** @type {ol.geom.GeometryCollection} */ (geometry).getGeometries();
for (let i = 0, ii = geometries.length; i < ii; ++i) { for (let i = 0, ii = geometries.length; i < ii; ++i) {
_ol_renderer_vector_.renderGeometry_(replayGroup, geometries[i], style, feature); renderGeometry(replayGroup, geometries[i], style, feature);
} }
return; return;
} }
const replay = replayGroup.getReplay(style.getZIndex(), ReplayType.DEFAULT); const replay = replayGroup.getReplay(style.getZIndex(), ReplayType.DEFAULT);
replay.drawCustom(/** @type {ol.geom.SimpleGeometry} */ (geometry), feature, style.getRenderer()); replay.drawCustom(/** @type {ol.geom.SimpleGeometry} */ (geometry), feature, style.getRenderer());
}; }
/** /**
@@ -153,17 +163,16 @@ _ol_renderer_vector_.renderGeometry_ = function(replayGroup, geometry, style, fe
* @param {ol.geom.GeometryCollection} geometry Geometry. * @param {ol.geom.GeometryCollection} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature} feature Feature. * @param {ol.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderGeometryCollectionGeometry_ = function(replayGroup, geometry, style, feature) { function renderGeometryCollectionGeometry(replayGroup, geometry, style, feature) {
const geometries = geometry.getGeometriesArray(); const geometries = geometry.getGeometriesArray();
let i, ii; let i, ii;
for (i = 0, ii = geometries.length; i < ii; ++i) { for (i = 0, ii = geometries.length; i < ii; ++i) {
const geometryRenderer = const geometryRenderer =
_ol_renderer_vector_.GEOMETRY_RENDERERS_[geometries[i].getType()]; GEOMETRY_RENDERERS[geometries[i].getType()];
geometryRenderer(replayGroup, geometries[i], style, feature); geometryRenderer(replayGroup, geometries[i], style, feature);
} }
}; }
/** /**
@@ -171,9 +180,8 @@ _ol_renderer_vector_.renderGeometryCollectionGeometry_ = function(replayGroup, g
* @param {ol.geom.LineString|ol.render.Feature} geometry Geometry. * @param {ol.geom.LineString|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature. * @param {ol.Feature|ol.render.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderLineStringGeometry_ = function(replayGroup, geometry, style, feature) { function renderLineStringGeometry(replayGroup, geometry, style, feature) {
const strokeStyle = style.getStroke(); const strokeStyle = style.getStroke();
if (strokeStyle) { if (strokeStyle) {
const lineStringReplay = replayGroup.getReplay(style.getZIndex(), ReplayType.LINE_STRING); const lineStringReplay = replayGroup.getReplay(style.getZIndex(), ReplayType.LINE_STRING);
@@ -186,7 +194,7 @@ _ol_renderer_vector_.renderLineStringGeometry_ = function(replayGroup, geometry,
textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false)); textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
textReplay.drawText(geometry, feature); textReplay.drawText(geometry, feature);
} }
}; }
/** /**
@@ -194,9 +202,8 @@ _ol_renderer_vector_.renderLineStringGeometry_ = function(replayGroup, geometry,
* @param {ol.geom.MultiLineString|ol.render.Feature} geometry Geometry. * @param {ol.geom.MultiLineString|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature. * @param {ol.Feature|ol.render.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderMultiLineStringGeometry_ = function(replayGroup, geometry, style, feature) { function renderMultiLineStringGeometry(replayGroup, geometry, style, feature) {
const strokeStyle = style.getStroke(); const strokeStyle = style.getStroke();
if (strokeStyle) { if (strokeStyle) {
const lineStringReplay = replayGroup.getReplay(style.getZIndex(), ReplayType.LINE_STRING); const lineStringReplay = replayGroup.getReplay(style.getZIndex(), ReplayType.LINE_STRING);
@@ -209,7 +216,7 @@ _ol_renderer_vector_.renderMultiLineStringGeometry_ = function(replayGroup, geom
textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false)); textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
textReplay.drawText(geometry, feature); textReplay.drawText(geometry, feature);
} }
}; }
/** /**
@@ -217,9 +224,8 @@ _ol_renderer_vector_.renderMultiLineStringGeometry_ = function(replayGroup, geom
* @param {ol.geom.MultiPolygon} geometry Geometry. * @param {ol.geom.MultiPolygon} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature} feature Feature. * @param {ol.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderMultiPolygonGeometry_ = function(replayGroup, geometry, style, feature) { function renderMultiPolygonGeometry(replayGroup, geometry, style, feature) {
const fillStyle = style.getFill(); const fillStyle = style.getFill();
const strokeStyle = style.getStroke(); const strokeStyle = style.getStroke();
if (strokeStyle || fillStyle) { if (strokeStyle || fillStyle) {
@@ -233,7 +239,7 @@ _ol_renderer_vector_.renderMultiPolygonGeometry_ = function(replayGroup, geometr
textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false)); textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
textReplay.drawText(geometry, feature); textReplay.drawText(geometry, feature);
} }
}; }
/** /**
@@ -241,9 +247,8 @@ _ol_renderer_vector_.renderMultiPolygonGeometry_ = function(replayGroup, geometr
* @param {ol.geom.Point|ol.render.Feature} geometry Geometry. * @param {ol.geom.Point|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature. * @param {ol.Feature|ol.render.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderPointGeometry_ = function(replayGroup, geometry, style, feature) { function renderPointGeometry(replayGroup, geometry, style, feature) {
const imageStyle = style.getImage(); const imageStyle = style.getImage();
if (imageStyle) { if (imageStyle) {
if (imageStyle.getImageState() != ImageState.LOADED) { if (imageStyle.getImageState() != ImageState.LOADED) {
@@ -259,7 +264,7 @@ _ol_renderer_vector_.renderPointGeometry_ = function(replayGroup, geometry, styl
textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(!!imageStyle)); textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(!!imageStyle));
textReplay.drawText(geometry, feature); textReplay.drawText(geometry, feature);
} }
}; }
/** /**
@@ -267,9 +272,8 @@ _ol_renderer_vector_.renderPointGeometry_ = function(replayGroup, geometry, styl
* @param {ol.geom.MultiPoint|ol.render.Feature} geometry Geometry. * @param {ol.geom.MultiPoint|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature. * @param {ol.Feature|ol.render.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderMultiPointGeometry_ = function(replayGroup, geometry, style, feature) { function renderMultiPointGeometry(replayGroup, geometry, style, feature) {
const imageStyle = style.getImage(); const imageStyle = style.getImage();
if (imageStyle) { if (imageStyle) {
if (imageStyle.getImageState() != ImageState.LOADED) { if (imageStyle.getImageState() != ImageState.LOADED) {
@@ -285,7 +289,7 @@ _ol_renderer_vector_.renderMultiPointGeometry_ = function(replayGroup, geometry,
textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(!!imageStyle)); textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(!!imageStyle));
textReplay.drawText(geometry, feature); textReplay.drawText(geometry, feature);
} }
}; }
/** /**
@@ -293,9 +297,8 @@ _ol_renderer_vector_.renderMultiPointGeometry_ = function(replayGroup, geometry,
* @param {ol.geom.Polygon|ol.render.Feature} geometry Geometry. * @param {ol.geom.Polygon|ol.render.Feature} geometry Geometry.
* @param {ol.style.Style} style Style. * @param {ol.style.Style} style Style.
* @param {ol.Feature|ol.render.Feature} feature Feature. * @param {ol.Feature|ol.render.Feature} feature Feature.
* @private
*/ */
_ol_renderer_vector_.renderPolygonGeometry_ = function(replayGroup, geometry, style, feature) { function renderPolygonGeometry(replayGroup, geometry, style, feature) {
const fillStyle = style.getFill(); const fillStyle = style.getFill();
const strokeStyle = style.getStroke(); const strokeStyle = style.getStroke();
if (fillStyle || strokeStyle) { if (fillStyle || strokeStyle) {
@@ -309,24 +312,4 @@ _ol_renderer_vector_.renderPolygonGeometry_ = function(replayGroup, geometry, st
textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false)); textReplay.setTextStyle(textStyle, replayGroup.addDeclutter(false));
textReplay.drawText(geometry, feature); textReplay.drawText(geometry, feature);
} }
}; }
/**
* @const
* @private
* @type {Object.<ol.geom.GeometryType,
* function(ol.render.ReplayGroup, ol.geom.Geometry,
* ol.style.Style, Object)>}
*/
_ol_renderer_vector_.GEOMETRY_RENDERERS_ = {
'Point': _ol_renderer_vector_.renderPointGeometry_,
'LineString': _ol_renderer_vector_.renderLineStringGeometry_,
'Polygon': _ol_renderer_vector_.renderPolygonGeometry_,
'MultiPoint': _ol_renderer_vector_.renderMultiPointGeometry_,
'MultiLineString': _ol_renderer_vector_.renderMultiLineStringGeometry_,
'MultiPolygon': _ol_renderer_vector_.renderMultiPolygonGeometry_,
'GeometryCollection': _ol_renderer_vector_.renderGeometryCollectionGeometry_,
'Circle': _ol_renderer_vector_.renderCircleGeometry_
};
export default _ol_renderer_vector_;

View File

@@ -7,7 +7,7 @@ import ViewHint from '../../ViewHint.js';
import {buffer, containsExtent, createEmpty} from '../../extent.js'; import {buffer, containsExtent, createEmpty} from '../../extent.js';
import WebGLReplayGroup from '../../render/webgl/ReplayGroup.js'; import WebGLReplayGroup from '../../render/webgl/ReplayGroup.js';
import RendererType from '../Type.js'; import RendererType from '../Type.js';
import _ol_renderer_vector_ from '../vector.js'; import {defaultOrder as defaultRenderOrder, getTolerance as getRenderTolerance, getSquaredTolerance as getSquaredRenderTolerance, renderFeature} from '../vector.js';
import WebGLLayerRenderer from '../webgl/Layer.js'; import WebGLLayerRenderer from '../webgl/Layer.js';
import _ol_transform_ from '../../transform.js'; import _ol_transform_ from '../../transform.js';
@@ -235,7 +235,7 @@ WebGLVectorLayerRenderer.prototype.prepareFrame = function(frameState, layerStat
let vectorLayerRenderOrder = vectorLayer.getRenderOrder(); let vectorLayerRenderOrder = vectorLayer.getRenderOrder();
if (vectorLayerRenderOrder === undefined) { if (vectorLayerRenderOrder === undefined) {
vectorLayerRenderOrder = _ol_renderer_vector_.defaultOrder; vectorLayerRenderOrder = defaultRenderOrder;
} }
const extent = buffer(frameStateExtent, const extent = buffer(frameStateExtent,
@@ -257,14 +257,14 @@ WebGLVectorLayerRenderer.prototype.prepareFrame = function(frameState, layerStat
this.dirty_ = false; this.dirty_ = false;
const replayGroup = new WebGLReplayGroup( const replayGroup = new WebGLReplayGroup(
_ol_renderer_vector_.getTolerance(resolution, pixelRatio), getRenderTolerance(resolution, pixelRatio),
extent, vectorLayer.getRenderBuffer()); extent, vectorLayer.getRenderBuffer());
vectorSource.loadFeatures(extent, resolution, projection); vectorSource.loadFeatures(extent, resolution, projection);
/** /**
* @param {ol.Feature} feature Feature. * @param {ol.Feature} feature Feature.
* @this {ol.renderer.webgl.VectorLayer} * @this {ol.renderer.webgl.VectorLayer}
*/ */
const renderFeature = function(feature) { const render = function(feature) {
let styles; let styles;
let styleFunction = feature.getStyleFunction(); let styleFunction = feature.getStyleFunction();
if (styleFunction) { if (styleFunction) {
@@ -292,9 +292,9 @@ WebGLVectorLayerRenderer.prototype.prepareFrame = function(frameState, layerStat
features.push(feature); features.push(feature);
}, this); }, this);
features.sort(vectorLayerRenderOrder); features.sort(vectorLayerRenderOrder);
features.forEach(renderFeature.bind(this)); features.forEach(render.bind(this));
} else { } else {
vectorSource.forEachFeatureInExtent(extent, renderFeature, this); vectorSource.forEachFeatureInExtent(extent, render, this);
} }
replayGroup.finish(context); replayGroup.finish(context);
@@ -324,15 +324,15 @@ WebGLVectorLayerRenderer.prototype.renderFeature = function(feature, resolution,
let loading = false; let loading = false;
if (Array.isArray(styles)) { if (Array.isArray(styles)) {
for (let i = styles.length - 1, ii = 0; i >= ii; --i) { for (let i = styles.length - 1, ii = 0; i >= ii; --i) {
loading = _ol_renderer_vector_.renderFeature( loading = renderFeature(
replayGroup, feature, styles[i], replayGroup, feature, styles[i],
_ol_renderer_vector_.getSquaredTolerance(resolution, pixelRatio), getSquaredRenderTolerance(resolution, pixelRatio),
this.handleStyleImageChange_, this) || loading; this.handleStyleImageChange_, this) || loading;
} }
} else { } else {
loading = _ol_renderer_vector_.renderFeature( loading = renderFeature(
replayGroup, feature, styles, replayGroup, feature, styles,
_ol_renderer_vector_.getSquaredTolerance(resolution, pixelRatio), getSquaredRenderTolerance(resolution, pixelRatio),
this.handleStyleImageChange_, this) || loading; this.handleStyleImageChange_, this) || loading;
} }
return loading; return loading;

View File

@@ -6,8 +6,6 @@ import RenderFeature from '../../../../src/ol/render/Feature.js';
describe('ol.render.Feature', function() { describe('ol.render.Feature', function() {
let renderFeature;
const type = 'Point'; const type = 'Point';
const flatCoordinates = [0, 0]; const flatCoordinates = [0, 0];
const ends = null; const ends = null;
@@ -15,41 +13,46 @@ describe('ol.render.Feature', function() {
describe('Constructor', function() { describe('Constructor', function() {
it('creates an instance', function() { it('creates an instance', function() {
renderFeature = const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
new RenderFeature(type, flatCoordinates, ends, properties, 'foo'); expect(feature).to.be.a(RenderFeature);
expect(renderFeature).to.be.a(RenderFeature);
}); });
}); });
describe('#get()', function() { describe('#get()', function() {
it('returns a single property', function() { it('returns a single property', function() {
expect(renderFeature.get('foo')).to.be('bar'); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.get('foo')).to.be('bar');
}); });
}); });
describe('#getEnds()', function() { describe('#getEnds()', function() {
it('returns the ends it was created with', function() { it('returns the ends it was created with', function() {
expect(renderFeature.getEnds()).to.equal(ends); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getEnds()).to.equal(ends);
}); });
}); });
describe('#getExtent()', function() { describe('#getExtent()', function() {
it('returns the correct extent for a point', function() { it('returns the correct extent for a point', function() {
expect(renderFeature.getExtent()).to.eql([0, 0, 0, 0]); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getExtent()).to.eql([0, 0, 0, 0]);
}); });
it('caches the extent', function() { it('caches the extent', function() {
expect(renderFeature.getExtent()).to.equal(renderFeature.extent_); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getExtent()).to.equal(feature.extent_);
}); });
it('returns the correct extent for a linestring', function() { it('returns the correct extent for a linestring', function() {
const feature = const feature = new RenderFeature('LineString', [-1, -2, 2, 1], null, {});
new RenderFeature('LineString', [-1, -2, 2, 1], null, {});
expect(feature.getExtent()).to.eql([-1, -2, 2, 1]); expect(feature.getExtent()).to.eql([-1, -2, 2, 1]);
}); });
}); });
describe('#getFlatCoordinates()', function() { describe('#getFlatCoordinates()', function() {
it('returns the flat coordinates it was created with', function() { it('returns the flat coordinates it was created with', function() {
expect(renderFeature.getFlatCoordinates()).to.equal(flatCoordinates); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getFlatCoordinates()).to.equal(flatCoordinates);
}); });
}); });
@@ -100,43 +103,50 @@ describe('ol.render.Feature', function() {
describe('#getGeometry()', function() { describe('#getGeometry()', function() {
it('returns itself as geometry', function() { it('returns itself as geometry', function() {
expect(renderFeature.getGeometry()).to.equal(renderFeature); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getGeometry()).to.equal(feature);
}); });
}); });
describe('#getId()', function() { describe('#getId()', function() {
it('returns the feature id', function() { it('returns the feature id', function() {
expect(renderFeature.getId()).to.be('foo'); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getId()).to.be('foo');
}); });
}); });
describe('#getProperties()', function() { describe('#getProperties()', function() {
it('returns the properties it was created with', function() { it('returns the properties it was created with', function() {
expect(renderFeature.getProperties()).to.equal(properties); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getProperties()).to.equal(properties);
}); });
}); });
describe('#getSimplifiedGeometry()', function() { describe('#getSimplifiedGeometry()', function() {
it('returns itself as simplified geometry', function() { it('returns itself as simplified geometry', function() {
expect(renderFeature.getSimplifiedGeometry()).to.equal(renderFeature); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getSimplifiedGeometry()).to.equal(feature);
}); });
}); });
describe('#getStride()', function() { describe('#getStride()', function() {
it('returns 2', function() { it('returns 2', function() {
expect(renderFeature.getStride()).to.be(2); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getStride()).to.be(2);
}); });
}); });
describe('#getStyleFunction()', function() { describe('#getStyleFunction()', function() {
it('returns undefined', function() { it('returns undefined', function() {
expect(renderFeature.getStyleFunction()).to.be(undefined); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getStyleFunction()).to.be(undefined);
}); });
}); });
describe('#getType()', function() { describe('#getType()', function() {
it('returns the type it was created with', function() { it('returns the type it was created with', function() {
expect(renderFeature.getType()).to.equal(type); const feature = new RenderFeature(type, flatCoordinates, ends, properties, 'foo');
expect(feature.getType()).to.equal(type);
}); });
}); });

View File

@@ -11,7 +11,7 @@ import CanvasLineStringReplay from '../../../../../src/ol/render/canvas/LineStri
import CanvasPolygonReplay from '../../../../../src/ol/render/canvas/PolygonReplay.js'; import CanvasPolygonReplay from '../../../../../src/ol/render/canvas/PolygonReplay.js';
import CanvasReplay from '../../../../../src/ol/render/canvas/Replay.js'; import CanvasReplay from '../../../../../src/ol/render/canvas/Replay.js';
import CanvasReplayGroup from '../../../../../src/ol/render/canvas/ReplayGroup.js'; import CanvasReplayGroup from '../../../../../src/ol/render/canvas/ReplayGroup.js';
import _ol_renderer_vector_ from '../../../../../src/ol/renderer/vector.js'; import {renderFeature} from '../../../../../src/ol/renderer/vector.js';
import Fill from '../../../../../src/ol/style/Fill.js'; import Fill from '../../../../../src/ol/style/Fill.js';
import Stroke from '../../../../../src/ol/style/Stroke.js'; import Stroke from '../../../../../src/ol/style/Stroke.js';
import Style from '../../../../../src/ol/style/Style.js'; import Style from '../../../../../src/ol/style/Style.js';
@@ -88,7 +88,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
}); });
it('omits lineTo for repeated coordinates', function() { it('omits lineTo for repeated coordinates', function() {
_ol_renderer_vector_.renderFeature(replay, feature0, fill0, 1); renderFeature(replay, feature0, fill0, 1);
replay.replay(context, transform, 0, {}); replay.replay(context, transform, 0, {});
expect(lineToCount).to.be(4); expect(lineToCount).to.be(4);
lineToCount = 0; lineToCount = 0;
@@ -98,16 +98,16 @@ describe('ol.render.canvas.ReplayGroup', function() {
}); });
it('does not omit moveTo for repeated coordinates', function() { it('does not omit moveTo for repeated coordinates', function() {
_ol_renderer_vector_.renderFeature(replay, feature0, fill0, 1); renderFeature(replay, feature0, fill0, 1);
_ol_renderer_vector_.renderFeature(replay, feature1, fill1, 1); renderFeature(replay, feature1, fill1, 1);
replay.replay(context, transform, 0, {}); replay.replay(context, transform, 0, {});
expect(moveToCount).to.be(2); expect(moveToCount).to.be(2);
}); });
it('batches fill and stroke instructions for same style', function() { it('batches fill and stroke instructions for same style', function() {
_ol_renderer_vector_.renderFeature(replay, feature1, style1, 1); renderFeature(replay, feature1, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature2, style1, 1); renderFeature(replay, feature2, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature3, style1, 1); renderFeature(replay, feature3, style1, 1);
replay.replay(context, transform, 0, {}); replay.replay(context, transform, 0, {});
expect(fillCount).to.be(1); expect(fillCount).to.be(1);
expect(strokeCount).to.be(1); expect(strokeCount).to.be(1);
@@ -115,9 +115,9 @@ describe('ol.render.canvas.ReplayGroup', function() {
}); });
it('batches fill and stroke instructions for different styles', function() { it('batches fill and stroke instructions for different styles', function() {
_ol_renderer_vector_.renderFeature(replay, feature1, style1, 1); renderFeature(replay, feature1, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature2, style1, 1); renderFeature(replay, feature2, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature3, style2, 1); renderFeature(replay, feature3, style2, 1);
replay.replay(context, transform, 0, {}); replay.replay(context, transform, 0, {});
expect(fillCount).to.be(2); expect(fillCount).to.be(2);
expect(strokeCount).to.be(2); expect(strokeCount).to.be(2);
@@ -125,9 +125,9 @@ describe('ol.render.canvas.ReplayGroup', function() {
}); });
it('batches fill and stroke instructions for changing styles', function() { it('batches fill and stroke instructions for changing styles', function() {
_ol_renderer_vector_.renderFeature(replay, feature1, style1, 1); renderFeature(replay, feature1, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature2, style2, 1); renderFeature(replay, feature2, style2, 1);
_ol_renderer_vector_.renderFeature(replay, feature3, style1, 1); renderFeature(replay, feature3, style1, 1);
replay.replay(context, transform, 0, {}); replay.replay(context, transform, 0, {});
expect(fillCount).to.be(3); expect(fillCount).to.be(3);
expect(strokeCount).to.be(3); expect(strokeCount).to.be(3);
@@ -135,9 +135,9 @@ describe('ol.render.canvas.ReplayGroup', function() {
}); });
it('batches fill and stroke instructions for skipped feature at the beginning', function() { it('batches fill and stroke instructions for skipped feature at the beginning', function() {
_ol_renderer_vector_.renderFeature(replay, feature1, style1, 1); renderFeature(replay, feature1, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature2, style2, 1); renderFeature(replay, feature2, style2, 1);
_ol_renderer_vector_.renderFeature(replay, feature3, style2, 1); renderFeature(replay, feature3, style2, 1);
const skippedUids = {}; const skippedUids = {};
skippedUids[getUid(feature1)] = true; skippedUids[getUid(feature1)] = true;
replay.replay(context, transform, 0, skippedUids); replay.replay(context, transform, 0, skippedUids);
@@ -147,9 +147,9 @@ describe('ol.render.canvas.ReplayGroup', function() {
}); });
it('batches fill and stroke instructions for skipped feature at the end', function() { it('batches fill and stroke instructions for skipped feature at the end', function() {
_ol_renderer_vector_.renderFeature(replay, feature1, style1, 1); renderFeature(replay, feature1, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature2, style1, 1); renderFeature(replay, feature2, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature3, style2, 1); renderFeature(replay, feature3, style2, 1);
const skippedUids = {}; const skippedUids = {};
skippedUids[getUid(feature3)] = true; skippedUids[getUid(feature3)] = true;
replay.replay(context, transform, 0, skippedUids); replay.replay(context, transform, 0, skippedUids);
@@ -159,9 +159,9 @@ describe('ol.render.canvas.ReplayGroup', function() {
}); });
it('batches fill and stroke instructions for skipped features', function() { it('batches fill and stroke instructions for skipped features', function() {
_ol_renderer_vector_.renderFeature(replay, feature1, style1, 1); renderFeature(replay, feature1, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature2, style1, 1); renderFeature(replay, feature2, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature3, style2, 1); renderFeature(replay, feature3, style2, 1);
const skippedUids = {}; const skippedUids = {};
skippedUids[getUid(feature1)] = true; skippedUids[getUid(feature1)] = true;
skippedUids[getUid(feature2)] = true; skippedUids[getUid(feature2)] = true;
@@ -173,9 +173,9 @@ describe('ol.render.canvas.ReplayGroup', function() {
it('does not batch when overlaps is set to true', function() { it('does not batch when overlaps is set to true', function() {
replay = new CanvasReplayGroup(1, [-180, -90, 180, 90], 1, 1, true); replay = new CanvasReplayGroup(1, [-180, -90, 180, 90], 1, 1, true);
_ol_renderer_vector_.renderFeature(replay, feature1, style1, 1); renderFeature(replay, feature1, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature2, style1, 1); renderFeature(replay, feature2, style1, 1);
_ol_renderer_vector_.renderFeature(replay, feature3, style1, 1); renderFeature(replay, feature3, style1, 1);
replay.replay(context, transform, 0, {}); replay.replay(context, transform, 0, {});
expect(fillCount).to.be(3); expect(fillCount).to.be(3);
expect(strokeCount).to.be(3); expect(strokeCount).to.be(3);
@@ -201,8 +201,8 @@ describe('ol.render.canvas.ReplayGroup', function() {
} }
}); });
_ol_renderer_vector_.renderFeature(replay, feature1, style2, 1); renderFeature(replay, feature1, style2, 1);
_ol_renderer_vector_.renderFeature(replay, feature2, style2, 1); renderFeature(replay, feature2, style2, 1);
replay.replay(context, transform, 0, {}); replay.replay(context, transform, 0, {});
expect(lineDashCount).to.be(1); expect(lineDashCount).to.be(1);
@@ -242,13 +242,13 @@ describe('ol.render.canvas.ReplayGroup', function() {
const geometrycollection = new Feature(new GeometryCollection( const geometrycollection = new Feature(new GeometryCollection(
[point.getGeometry(), linestring.getGeometry(), polygon.getGeometry()])); [point.getGeometry(), linestring.getGeometry(), polygon.getGeometry()]));
replay = new CanvasReplayGroup(1, [-180, -90, 180, 90], 1, 1, true); replay = new CanvasReplayGroup(1, [-180, -90, 180, 90], 1, 1, true);
_ol_renderer_vector_.renderFeature(replay, point, style, 1); renderFeature(replay, point, style, 1);
_ol_renderer_vector_.renderFeature(replay, multipoint, style, 1); renderFeature(replay, multipoint, style, 1);
_ol_renderer_vector_.renderFeature(replay, linestring, style, 1); renderFeature(replay, linestring, style, 1);
_ol_renderer_vector_.renderFeature(replay, multilinestring, style, 1); renderFeature(replay, multilinestring, style, 1);
_ol_renderer_vector_.renderFeature(replay, polygon, style, 1); renderFeature(replay, polygon, style, 1);
_ol_renderer_vector_.renderFeature(replay, multipolygon, style, 1); renderFeature(replay, multipolygon, style, 1);
_ol_renderer_vector_.renderFeature(replay, geometrycollection, style, 1); renderFeature(replay, geometrycollection, style, 1);
_ol_transform_.scale(transform, 0.1, 0.1); _ol_transform_.scale(transform, 0.1, 0.1);
replay.replay(context, transform, 0, {}); replay.replay(context, transform, 0, {});
expect(calls.length).to.be(9); expect(calls.length).to.be(9);

View File

@@ -7,7 +7,7 @@ import MultiLineString from '../../../../src/ol/geom/MultiLineString.js';
import MultiPoint from '../../../../src/ol/geom/MultiPoint.js'; import MultiPoint from '../../../../src/ol/geom/MultiPoint.js';
import MultiPolygon from '../../../../src/ol/geom/MultiPolygon.js'; import MultiPolygon from '../../../../src/ol/geom/MultiPolygon.js';
import CanvasReplayGroup from '../../../../src/ol/render/canvas/ReplayGroup.js'; import CanvasReplayGroup from '../../../../src/ol/render/canvas/ReplayGroup.js';
import _ol_renderer_vector_ from '../../../../src/ol/renderer/vector.js'; import {renderFeature} from '../../../../src/ol/renderer/vector.js';
import Fill from '../../../../src/ol/style/Fill.js'; import Fill from '../../../../src/ol/style/Fill.js';
import Icon from '../../../../src/ol/style/Icon.js'; import Icon from '../../../../src/ol/style/Icon.js';
import Stroke from '../../../../src/ol/style/Stroke.js'; import Stroke from '../../../../src/ol/style/Stroke.js';
@@ -50,7 +50,7 @@ describe('ol.renderer.vector', function() {
let listeners; let listeners;
// call #1 // call #1
_ol_renderer_vector_.renderFeature(replayGroup, feature, renderFeature(replayGroup, feature,
style, squaredTolerance, listener, listenerThis); style, squaredTolerance, listener, listenerThis);
expect(iconStyleLoadSpy.calledOnce).to.be.ok(); expect(iconStyleLoadSpy.calledOnce).to.be.ok();
@@ -59,7 +59,7 @@ describe('ol.renderer.vector', function() {
expect(listeners.length).to.eql(1); expect(listeners.length).to.eql(1);
// call #2 // call #2
_ol_renderer_vector_.renderFeature(replayGroup, feature, renderFeature(replayGroup, feature,
style, squaredTolerance, listener, listenerThis); style, squaredTolerance, listener, listenerThis);
expect(iconStyleLoadSpy.calledOnce).to.be.ok(); expect(iconStyleLoadSpy.calledOnce).to.be.ok();
@@ -78,7 +78,7 @@ describe('ol.renderer.vector', function() {
style.getZIndex(), 'Image'); style.getZIndex(), 'Image');
const setImageStyleSpy = sinon.spy(imageReplay, 'setImageStyle'); const setImageStyleSpy = sinon.spy(imageReplay, 'setImageStyle');
const drawPointSpy = sinon.stub(imageReplay, 'drawPoint').callsFake(nullFunction); const drawPointSpy = sinon.stub(imageReplay, 'drawPoint').callsFake(nullFunction);
_ol_renderer_vector_.renderFeature(replayGroup, feature, renderFeature(replayGroup, feature,
style, squaredTolerance, listener, listenerThis); style, squaredTolerance, listener, listenerThis);
expect(setImageStyleSpy.called).to.be(false); expect(setImageStyleSpy.called).to.be(false);
setImageStyleSpy.restore(); setImageStyleSpy.restore();
@@ -91,7 +91,7 @@ describe('ol.renderer.vector', function() {
style.getZIndex(), 'Image'); style.getZIndex(), 'Image');
const setImageStyleSpy = sinon.spy(imageReplay, 'setImageStyle'); const setImageStyleSpy = sinon.spy(imageReplay, 'setImageStyle');
const drawMultiPointSpy = sinon.stub(imageReplay, 'drawMultiPoint').callsFake(nullFunction); const drawMultiPointSpy = sinon.stub(imageReplay, 'drawMultiPoint').callsFake(nullFunction);
_ol_renderer_vector_.renderFeature(replayGroup, feature, renderFeature(replayGroup, feature,
style, squaredTolerance, listener, listenerThis); style, squaredTolerance, listener, listenerThis);
expect(setImageStyleSpy.called).to.be(false); expect(setImageStyleSpy.called).to.be(false);
setImageStyleSpy.restore(); setImageStyleSpy.restore();
@@ -105,7 +105,7 @@ describe('ol.renderer.vector', function() {
const setFillStrokeStyleSpy = sinon.spy(lineStringReplay, const setFillStrokeStyleSpy = sinon.spy(lineStringReplay,
'setFillStrokeStyle'); 'setFillStrokeStyle');
const drawLineStringSpy = sinon.stub(lineStringReplay, 'drawLineString').callsFake(nullFunction); const drawLineStringSpy = sinon.stub(lineStringReplay, 'drawLineString').callsFake(nullFunction);
_ol_renderer_vector_.renderFeature(replayGroup, feature, renderFeature(replayGroup, feature,
style, squaredTolerance, listener, listenerThis); style, squaredTolerance, listener, listenerThis);
expect(setFillStrokeStyleSpy.called).to.be(true); expect(setFillStrokeStyleSpy.called).to.be(true);
expect(drawLineStringSpy.called).to.be(true); expect(drawLineStringSpy.called).to.be(true);
@@ -120,7 +120,7 @@ describe('ol.renderer.vector', function() {
const setFillStrokeStyleSpy = sinon.spy(lineStringReplay, const setFillStrokeStyleSpy = sinon.spy(lineStringReplay,
'setFillStrokeStyle'); 'setFillStrokeStyle');
const drawMultiLineStringSpy = sinon.stub(lineStringReplay, 'drawMultiLineString').callsFake(nullFunction); const drawMultiLineStringSpy = sinon.stub(lineStringReplay, 'drawMultiLineString').callsFake(nullFunction);
_ol_renderer_vector_.renderFeature(replayGroup, feature, renderFeature(replayGroup, feature,
style, squaredTolerance, listener, listenerThis); style, squaredTolerance, listener, listenerThis);
expect(setFillStrokeStyleSpy.called).to.be(true); expect(setFillStrokeStyleSpy.called).to.be(true);
expect(drawMultiLineStringSpy.called).to.be(true); expect(drawMultiLineStringSpy.called).to.be(true);
@@ -136,7 +136,7 @@ describe('ol.renderer.vector', function() {
const setFillStrokeStyleSpy = sinon.spy(polygonReplay, const setFillStrokeStyleSpy = sinon.spy(polygonReplay,
'setFillStrokeStyle'); 'setFillStrokeStyle');
const drawPolygonSpy = sinon.stub(polygonReplay, 'drawPolygon').callsFake(nullFunction); const drawPolygonSpy = sinon.stub(polygonReplay, 'drawPolygon').callsFake(nullFunction);
_ol_renderer_vector_.renderFeature(replayGroup, feature, renderFeature(replayGroup, feature,
style, squaredTolerance, listener, listenerThis); style, squaredTolerance, listener, listenerThis);
expect(setFillStrokeStyleSpy.called).to.be(true); expect(setFillStrokeStyleSpy.called).to.be(true);
expect(drawPolygonSpy.called).to.be(true); expect(drawPolygonSpy.called).to.be(true);
@@ -152,7 +152,7 @@ describe('ol.renderer.vector', function() {
const setFillStrokeStyleSpy = sinon.spy(polygonReplay, const setFillStrokeStyleSpy = sinon.spy(polygonReplay,
'setFillStrokeStyle'); 'setFillStrokeStyle');
const drawMultiPolygonSpy = sinon.stub(polygonReplay, 'drawMultiPolygon').callsFake(nullFunction); const drawMultiPolygonSpy = sinon.stub(polygonReplay, 'drawMultiPolygon').callsFake(nullFunction);
_ol_renderer_vector_.renderFeature(replayGroup, feature, renderFeature(replayGroup, feature,
style, squaredTolerance, listener, listenerThis); style, squaredTolerance, listener, listenerThis);
expect(setFillStrokeStyleSpy.called).to.be(true); expect(setFillStrokeStyleSpy.called).to.be(true);
expect(drawMultiPolygonSpy.called).to.be(true); expect(drawMultiPolygonSpy.called).to.be(true);