Make renderIntent private and add a getter

This commit is contained in:
ahocevar
2013-11-11 22:07:18 +01:00
parent 299d729936
commit 0ed208b710
8 changed files with 24 additions and 13 deletions

View File

@@ -277,7 +277,7 @@ ol.expr.lib[ol.expr.functions.GEOMETRY_TYPE] = function(type) {
* @this {ol.Feature} * @this {ol.Feature}
*/ */
ol.expr.lib[ol.expr.functions.RENDER_INTENT] = function(renderIntent) { ol.expr.lib[ol.expr.functions.RENDER_INTENT] = function(renderIntent) {
return this.renderIntent == renderIntent; return this.getRenderIntent() == renderIntent;
}; };

View File

@@ -45,8 +45,9 @@ ol.Feature = function(opt_values) {
/** /**
* The render intent for this feature. * The render intent for this feature.
* @type {ol.layer.VectorLayerRenderIntent|string} * @type {ol.layer.VectorLayerRenderIntent|string}
* @private
*/ */
this.renderIntent = ol.layer.VectorLayerRenderIntent.DEFAULT; this.renderIntent_ = ol.layer.VectorLayerRenderIntent.DEFAULT;
/** /**
* @type {Array.<ol.style.Symbolizer>} * @type {Array.<ol.style.Symbolizer>}
@@ -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. * Changes the renderIntent for this feature.
* @param {string} renderIntent Render intent. * @param {string} renderIntent Render intent.
*/ */
ol.Feature.prototype.setRenderIntent = function(renderIntent) { ol.Feature.prototype.setRenderIntent = function(renderIntent) {
this.renderIntent = renderIntent; this.renderIntent_ = renderIntent;
var geometry = this.getGeometry(); var geometry = this.getGeometry();
if (!goog.isNull(geometry)) { if (!goog.isNull(geometry)) {
this.dispatchEvent(new ol.FeatureEvent( this.dispatchEvent(new ol.FeatureEvent(

View File

@@ -102,8 +102,8 @@ ol.interaction.Select.prototype.select =
for (var j = featuresToSelect.length - 1; j >= 0; --j) { for (var j = featuresToSelect.length - 1; j >= 0; --j) {
var feature = featuresToSelect[j]; var feature = featuresToSelect[j];
// TODO: Make toggle configurable // TODO: Make toggle configurable
feature.setRenderIntent( feature.setRenderIntent(feature.getRenderIntent() ==
feature.renderIntent == ol.layer.VectorLayerRenderIntent.SELECTED ? ol.layer.VectorLayerRenderIntent.SELECTED ?
ol.layer.VectorLayerRenderIntent.DEFAULT : ol.layer.VectorLayerRenderIntent.DEFAULT :
ol.layer.VectorLayerRenderIntent.SELECTED); ol.layer.VectorLayerRenderIntent.SELECTED);
} }

View File

@@ -483,7 +483,7 @@ ol.layer.Vector.uidTransformFeatureInfo = function(features) {
* @return {boolean} Whether the feature is selected. * @return {boolean} Whether the feature is selected.
*/ */
ol.layer.Vector.selectedFeaturesFilter = function(feature) { ol.layer.Vector.selectedFeaturesFilter = function(feature) {
return feature.renderIntent == ol.layer.VectorLayerRenderIntent.SELECTED; return feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.SELECTED;
}; };

View File

@@ -275,7 +275,8 @@ ol.renderer.canvas.VectorLayer.prototype.getFeaturesForPixel =
halfWidth, halfHeight, uid, coordinates, j; halfWidth, halfHeight, uid, coordinates, j;
for (var id in candidates) { for (var id in candidates) {
candidate = candidates[id]; candidate = candidates[id];
if (candidate.renderIntent == ol.layer.VectorLayerRenderIntent.HIDDEN) { if (candidate.getRenderIntent() ==
ol.layer.VectorLayerRenderIntent.HIDDEN) {
continue; continue;
} }
geom = candidate.getGeometry(); geom = candidate.getGeometry();

View File

@@ -160,7 +160,7 @@ ol.renderer.canvas.Vector.prototype.renderLineStringFeatures_ =
context.beginPath(); context.beginPath();
for (i = 0, ii = features.length; i < ii; ++i) { for (i = 0, ii = features.length; i < ii; ++i) {
feature = features[i]; feature = features[i];
if (feature.renderIntent === ol.layer.VectorLayerRenderIntent.HIDDEN) { if (feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.HIDDEN) {
continue; continue;
} }
id = goog.getUid(feature); id = goog.getUid(feature);
@@ -249,7 +249,7 @@ ol.renderer.canvas.Vector.prototype.renderPointFeatures_ =
context.globalAlpha = alpha; context.globalAlpha = alpha;
for (i = 0, ii = features.length; i < ii; ++i) { for (i = 0, ii = features.length; i < ii; ++i) {
feature = features[i]; feature = features[i];
if (feature.renderIntent === ol.layer.VectorLayerRenderIntent.HIDDEN) { if (feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.HIDDEN) {
continue; continue;
} }
id = goog.getUid(feature); id = goog.getUid(feature);
@@ -325,7 +325,7 @@ ol.renderer.canvas.Vector.prototype.renderText_ =
for (var i = 0, ii = features.length; i < ii; ++i) { for (var i = 0, ii = features.length; i < ii; ++i) {
feature = features[i]; feature = features[i];
if (feature.renderIntent === ol.layer.VectorLayerRenderIntent.HIDDEN) { if (feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.HIDDEN) {
continue; continue;
} }
vecs = ol.renderer.canvas.Vector.getLabelVectors( vecs = ol.renderer.canvas.Vector.getLabelVectors(
@@ -393,7 +393,7 @@ ol.renderer.canvas.Vector.prototype.renderPolygonFeatures_ =
context.beginPath(); context.beginPath();
for (i = 0, ii = features.length; i < ii; ++i) { for (i = 0, ii = features.length; i < ii; ++i) {
feature = features[i]; feature = features[i];
if (feature.renderIntent === ol.layer.VectorLayerRenderIntent.HIDDEN) { if (feature.getRenderIntent() == ol.layer.VectorLayerRenderIntent.HIDDEN) {
continue; continue;
} }
geometry = feature.getGeometry(); geometry = feature.getGeometry();

View File

@@ -894,7 +894,7 @@ describe('ol.expr.lib', function() {
describe('renderIntent()', function() { describe('renderIntent()', function() {
var feature = new ol.Feature(); var feature = new ol.Feature();
feature.renderIntent = 'foo'; feature.setRenderIntent('foo');
var isFoo = parse('renderIntent("foo")'); var isFoo = parse('renderIntent("foo")');
var isBar = parse('renderIntent("bar")'); var isBar = parse('renderIntent("bar")');

View File

@@ -47,7 +47,7 @@ describe('ol.interaction.Select', function() {
describe('#select', function() { describe('#select', function() {
var selectedFeaturesFilter = function(feature) { var selectedFeaturesFilter = function(feature) {
return feature.renderIntent == 'selected'; return feature.getRenderIntent() == 'selected';
}; };
it('toggles selection of features', function() { it('toggles selection of features', function() {