diff --git a/src/ol/expr/expression.js b/src/ol/expr/expression.js index 25eb4163e5..ce22d86f67 100644 --- a/src/ol/expr/expression.js +++ b/src/ol/expr/expression.js @@ -277,7 +277,7 @@ ol.expr.lib[ol.expr.functions.GEOMETRY_TYPE] = function(type) { * @this {ol.Feature} */ ol.expr.lib[ol.expr.functions.RENDER_INTENT] = function(renderIntent) { - return this.renderIntent == renderIntent; + return this.getRenderIntent() == renderIntent; }; diff --git a/src/ol/feature.js b/src/ol/feature.js index be375d8d37..caebeb56c5 100644 --- a/src/ol/feature.js +++ b/src/ol/feature.js @@ -45,8 +45,9 @@ ol.Feature = function(opt_values) { /** * The render intent for this feature. * @type {ol.layer.VectorLayerRenderIntent|string} + * @private */ - this.renderIntent = ol.layer.VectorLayerRenderIntent.DEFAULT; + this.renderIntent_ = ol.layer.VectorLayerRenderIntent.DEFAULT; /** * @type {Array.} @@ -175,12 +176,21 @@ ol.Feature.prototype.setGeometry = function(geometry) { }; +/** + * Gets the renderIntent for this feature. + * @return {string} Render intent. + */ +ol.Feature.prototype.getRenderIntent = function() { + return this.renderIntent_; +}; + + /** * Changes the renderIntent for this feature. * @param {string} renderIntent Render intent. */ ol.Feature.prototype.setRenderIntent = function(renderIntent) { - this.renderIntent = renderIntent; + this.renderIntent_ = renderIntent; var geometry = this.getGeometry(); if (!goog.isNull(geometry)) { this.dispatchEvent(new ol.FeatureEvent( diff --git a/src/ol/interaction/selectinteraction.js b/src/ol/interaction/selectinteraction.js index 0cd84aaa5d..eafea029ed 100644 --- a/src/ol/interaction/selectinteraction.js +++ b/src/ol/interaction/selectinteraction.js @@ -102,8 +102,8 @@ ol.interaction.Select.prototype.select = for (var j = featuresToSelect.length - 1; j >= 0; --j) { var feature = featuresToSelect[j]; // TODO: Make toggle configurable - feature.setRenderIntent( - feature.renderIntent == ol.layer.VectorLayerRenderIntent.SELECTED ? + feature.setRenderIntent(feature.getRenderIntent() == + ol.layer.VectorLayerRenderIntent.SELECTED ? ol.layer.VectorLayerRenderIntent.DEFAULT : ol.layer.VectorLayerRenderIntent.SELECTED); } diff --git a/src/ol/layer/vectorlayer.js b/src/ol/layer/vectorlayer.js index 818a0794af..71da158900 100644 --- a/src/ol/layer/vectorlayer.js +++ b/src/ol/layer/vectorlayer.js @@ -483,7 +483,7 @@ ol.layer.Vector.uidTransformFeatureInfo = function(features) { * @return {boolean} Whether the feature is selected. */ ol.layer.Vector.selectedFeaturesFilter = function(feature) { - return feature.renderIntent == ol.layer.VectorLayerRenderIntent.SELECTED; + return feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.SELECTED; }; diff --git a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js index 2cc87bc590..5e39824950 100644 --- a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js @@ -275,7 +275,8 @@ ol.renderer.canvas.VectorLayer.prototype.getFeaturesForPixel = halfWidth, halfHeight, uid, coordinates, j; for (var id in candidates) { candidate = candidates[id]; - if (candidate.renderIntent == ol.layer.VectorLayerRenderIntent.HIDDEN) { + if (candidate.getRenderIntent() == + ol.layer.VectorLayerRenderIntent.HIDDEN) { continue; } geom = candidate.getGeometry(); diff --git a/src/ol/renderer/canvas/canvasvectorrenderer.js b/src/ol/renderer/canvas/canvasvectorrenderer.js index 8f5b2c6dd4..30d7a3ebca 100644 --- a/src/ol/renderer/canvas/canvasvectorrenderer.js +++ b/src/ol/renderer/canvas/canvasvectorrenderer.js @@ -160,7 +160,7 @@ ol.renderer.canvas.Vector.prototype.renderLineStringFeatures_ = context.beginPath(); for (i = 0, ii = features.length; i < ii; ++i) { feature = features[i]; - if (feature.renderIntent === ol.layer.VectorLayerRenderIntent.HIDDEN) { + if (feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.HIDDEN) { continue; } id = goog.getUid(feature); @@ -249,7 +249,7 @@ ol.renderer.canvas.Vector.prototype.renderPointFeatures_ = context.globalAlpha = alpha; for (i = 0, ii = features.length; i < ii; ++i) { feature = features[i]; - if (feature.renderIntent === ol.layer.VectorLayerRenderIntent.HIDDEN) { + if (feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.HIDDEN) { continue; } id = goog.getUid(feature); @@ -325,7 +325,7 @@ ol.renderer.canvas.Vector.prototype.renderText_ = for (var i = 0, ii = features.length; i < ii; ++i) { feature = features[i]; - if (feature.renderIntent === ol.layer.VectorLayerRenderIntent.HIDDEN) { + if (feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.HIDDEN) { continue; } vecs = ol.renderer.canvas.Vector.getLabelVectors( @@ -393,7 +393,7 @@ ol.renderer.canvas.Vector.prototype.renderPolygonFeatures_ = context.beginPath(); for (i = 0, ii = features.length; i < ii; ++i) { feature = features[i]; - if (feature.renderIntent === ol.layer.VectorLayerRenderIntent.HIDDEN) { + if (feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.HIDDEN) { continue; } geometry = feature.getGeometry(); diff --git a/test/spec/ol/expr/expression.test.js b/test/spec/ol/expr/expression.test.js index 4f0f0942db..35dfa37144 100644 --- a/test/spec/ol/expr/expression.test.js +++ b/test/spec/ol/expr/expression.test.js @@ -894,7 +894,7 @@ describe('ol.expr.lib', function() { describe('renderIntent()', function() { var feature = new ol.Feature(); - feature.renderIntent = 'foo'; + feature.setRenderIntent('foo'); var isFoo = parse('renderIntent("foo")'); var isBar = parse('renderIntent("bar")'); diff --git a/test/spec/ol/interaction/selectinteraction.test.js b/test/spec/ol/interaction/selectinteraction.test.js index 330775b7a7..cedd9211f1 100644 --- a/test/spec/ol/interaction/selectinteraction.test.js +++ b/test/spec/ol/interaction/selectinteraction.test.js @@ -47,7 +47,7 @@ describe('ol.interaction.Select', function() { describe('#select', function() { var selectedFeaturesFilter = function(feature) { - return feature.renderIntent == 'selected'; + return feature.getRenderIntent() == 'selected'; }; it('toggles selection of features', function() {