Merge remote-tracking branch 'openlayers/master' into vector-api

This commit is contained in:
Tom Payne
2013-12-16 17:27:12 +01:00
15 changed files with 92 additions and 144 deletions
+28 -33
View File
@@ -1,14 +1,13 @@
goog.provide('ol.Feature');
goog.provide('ol.FeatureEvent');
goog.provide('ol.FeatureEventType');
goog.provide('ol.FeatureRenderIntent');
goog.require('goog.events');
goog.require('goog.events.Event');
goog.require('goog.events.EventType');
goog.require('ol.Object');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.GeometryEvent');
goog.require('ol.layer.VectorLayerRenderIntent');
@@ -28,6 +27,12 @@ goog.require('ol.layer.VectorLayerRenderIntent');
*/
ol.Feature = function(opt_values) {
/**
* @type {ol.Extent}
* @private
*/
this.geometryExtent_ = null;
goog.base(this, opt_values);
/**
@@ -42,19 +47,12 @@ ol.Feature = function(opt_values) {
*/
this.geometryName_;
/**
* Original of this feature when it was modified.
* @type {ol.Feature}
* @private
*/
this.original_ = null;
/**
* The render intent for this feature.
* @type {ol.layer.VectorLayerRenderIntent|string}
* @type {ol.FeatureRenderIntent|string}
* @private
*/
this.renderIntent_ = ol.layer.VectorLayerRenderIntent.DEFAULT;
this.renderIntent_ = ol.FeatureRenderIntent.DEFAULT;
/**
* @type {Array.<ol.style.Symbolizer>}
@@ -114,15 +112,6 @@ ol.Feature.prototype.getGeometry = function() {
};
/**
* Get the original of this feature when it was modified.
* @return {ol.Feature} Original.
*/
ol.Feature.prototype.getOriginal = function() {
return this.original_;
};
/**
* Get any symbolizers set directly on the feature.
* @return {Array.<ol.style.Symbolizer>} Symbolizers (or null if none).
@@ -134,12 +123,14 @@ ol.Feature.prototype.getSymbolizers = function() {
/**
* Listener for geometry change events.
* @param {ol.geom.GeometryEvent} evt Geometry event.
* @param {goog.events.Event} evt Change event.
* @private
*/
ol.Feature.prototype.handleGeometryChange_ = function(evt) {
var oldExtent = this.geometryExtent_;
this.geometryExtent_ = this.getGeometry().getBounds();
this.dispatchEvent(new ol.FeatureEvent(
ol.FeatureEventType.CHANGE, this, evt.oldExtent));
ol.FeatureEventType.CHANGE, this, oldExtent));
};
@@ -151,10 +142,10 @@ ol.Feature.prototype.handleGeometryChange_ = function(evt) {
*/
ol.Feature.prototype.set = function(key, value) {
var geometry = this.getGeometry();
var oldExtent = null;
var oldExtent = this.geometryExtent_;
if (goog.isDefAndNotNull(geometry)) {
oldExtent = geometry.getBounds();
if (key === this.geometryName_) {
this.geometryExtent_ = null;
goog.events.unlisten(geometry, goog.events.EventType.CHANGE,
this.handleGeometryChange_, false, this);
}
@@ -164,6 +155,7 @@ ol.Feature.prototype.set = function(key, value) {
this.geometryName_ = key;
}
if (key === this.geometryName_) {
this.geometryExtent_ = value.getBounds();
goog.events.listen(value, goog.events.EventType.CHANGE,
this.handleGeometryChange_, false, this);
}
@@ -198,15 +190,6 @@ ol.Feature.prototype.setGeometry = function(geometry) {
};
/**
* Set the original of this feature when it was modified.
* @param {ol.Feature} original Original.
*/
ol.Feature.prototype.setOriginal = function(original) {
this.original_ = original;
};
/**
* Gets the renderIntent for this feature.
* @return {string} Render intent.
@@ -247,6 +230,18 @@ ol.Feature.prototype.setSymbolizers = function(symbolizers) {
ol.Feature.DEFAULT_GEOMETRY = 'geometry';
/**
* @enum {string}
*/
ol.FeatureRenderIntent = {
DEFAULT: 'default',
FUTURE: 'future',
HIDDEN: 'hidden',
SELECTED: 'selected',
TEMPORARY: 'temporary'
};
/**
* @enum {string}
*/