Re-order functions alphabetically

This commit is contained in:
Tom Payne
2012-08-16 17:54:22 +02:00
parent 4f2b6a0c22
commit 44cd3ceccb
15 changed files with 433 additions and 433 deletions

View File

@@ -11,22 +11,6 @@ goog.require('ol.Coordinate');
ol.CoordinateFormatType;
/**
* @private
* @param {number} degrees Degrees.
* @param {string} hemispheres Hemispheres.
* @return {string} String.
*/
ol.CoordinateFormat.degreesToHDMS_ = function(degrees, hemispheres) {
var normalizedDegrees = goog.math.modulo(degrees + 180, 360) - 180;
var x = Math.abs(Math.round(3600 * normalizedDegrees));
return Math.floor(x / 3600) + '\u00b0 ' +
Math.floor((x / 60) % 60) + '\u2032 ' +
Math.floor(x % 60) + '\u2033 ' +
hemispheres.charAt(normalizedDegrees < 0 ? 1 : 0);
};
/**
* @param {number} precision Precision.
* @return {ol.CoordinateFormatType} Coordinate format.
@@ -43,6 +27,22 @@ ol.CoordinateFormat.createXY = function(precision) {
};
/**
* @private
* @param {number} degrees Degrees.
* @param {string} hemispheres Hemispheres.
* @return {string} String.
*/
ol.CoordinateFormat.degreesToHDMS_ = function(degrees, hemispheres) {
var normalizedDegrees = goog.math.modulo(degrees + 180, 360) - 180;
var x = Math.abs(Math.round(3600 * normalizedDegrees));
return Math.floor(x / 3600) + '\u00b0 ' +
Math.floor((x / 60) % 60) + '\u2032 ' +
Math.floor(x % 60) + '\u2033 ' +
hemispheres.charAt(normalizedDegrees < 0 ? 1 : 0);
};
/**
* @param {ol.Coordinate|undefined} coordinate Coordinate.
* @return {string} Coordinate format.

View File

@@ -69,14 +69,6 @@ ol.LayerRenderer.prototype.getLayer = function() {
};
/**
* @return {ol.MapRenderer} Map renderer.
*/
ol.LayerRenderer.prototype.getMapRenderer = function() {
return this.mapRenderer_;
};
/**
* @return {ol.Map} Map.
*/
@@ -85,6 +77,14 @@ ol.LayerRenderer.prototype.getMap = function() {
};
/**
* @return {ol.MapRenderer} Map renderer.
*/
ol.LayerRenderer.prototype.getMapRenderer = function() {
return this.mapRenderer_;
};
/**
* @protected
*/
@@ -106,13 +106,13 @@ ol.LayerRenderer.prototype.handleLayerHueChange = goog.nullFunction;
/**
* @protected
*/
ol.LayerRenderer.prototype.handleLayerOpacityChange = goog.nullFunction;
ol.LayerRenderer.prototype.handleLayerLoad = goog.nullFunction;
/**
* @protected
*/
ol.LayerRenderer.prototype.handleLayerLoad = goog.nullFunction;
ol.LayerRenderer.prototype.handleLayerOpacityChange = goog.nullFunction;
/**

View File

@@ -96,6 +96,30 @@ ol.MapRenderer = function(target, map) {
goog.inherits(ol.MapRenderer, goog.Disposable);
/**
* @param {ol.Layer} layer Layer.
* @protected
*/
ol.MapRenderer.prototype.addLayer = function(layer) {
var layerRenderer = this.createLayerRenderer(layer);
this.setLayerRenderer(layer, layerRenderer);
};
/**
* @return {boolean} Can rotate.
*/
ol.MapRenderer.prototype.canRotate = goog.functions.FALSE;
/**
* @param {ol.Layer} layer Layer.
* @protected
* @return {ol.LayerRenderer} layerRenderer Layer renderer.
*/
ol.MapRenderer.prototype.createLayerRenderer = goog.abstractMethod;
/**
* @inheritDoc
*/
@@ -128,10 +152,14 @@ ol.MapRenderer.prototype.forEachReadyVisibleLayer = function(f, opt_obj) {
/**
* @return {ol.Map} Map.
* @param {ol.Pixel} pixel Pixel.
* @return {ol.Coordinate} Coordinate.
*/
ol.MapRenderer.prototype.getMap = function() {
return this.map;
ol.MapRenderer.prototype.getCoordinateFromPixel = function(pixel) {
this.updateMatrices_();
var vec3 = [pixel.x, pixel.y, 0];
goog.vec.Mat4.multVec3(this.pixelToCoordinateMatrix_, vec3, vec3);
return new ol.Coordinate(vec3[0], vec3[1]);
};
@@ -149,21 +177,23 @@ ol.MapRenderer.prototype.getLayerRenderer = function(layer) {
/**
* @param {ol.Layer} layer Layer.
* @param {ol.LayerRenderer} layerRenderer Layer renderer.
* @protected
* @return {ol.Map} Map.
*/
ol.MapRenderer.prototype.setLayerRenderer = function(layer, layerRenderer) {
var key = goog.getUid(layer);
goog.asserts.assert(!(key in this.layerRenderers));
this.layerRenderers[key] = layerRenderer;
ol.MapRenderer.prototype.getMap = function() {
return this.map;
};
/**
* @return {boolean} Can rotate.
* @param {ol.Coordinate} coordinate Coordinate.
* @return {ol.Pixel} Pixel.
*/
ol.MapRenderer.prototype.canRotate = goog.functions.FALSE;
ol.MapRenderer.prototype.getPixelFromCoordinate = function(coordinate) {
this.updateMatrices_();
var vec3 = [coordinate.x, coordinate.y, 0];
goog.vec.Mat4.multVec3(this.coordinateToPixelMatrix_, vec3, vec3);
return new ol.Pixel(vec3[0], vec3[1]);
};
/**
@@ -179,6 +209,16 @@ ol.MapRenderer.prototype.handleCenterChanged = function() {
};
/**
* @param {ol.CollectionEvent} collectionEvent Collection event.
* @protected
*/
ol.MapRenderer.prototype.handleLayersAdd = function(collectionEvent) {
var layer = /** @type {ol.Layer} */ collectionEvent.elem;
this.addLayer(layer);
};
/**
* @protected
*/
@@ -205,34 +245,6 @@ ol.MapRenderer.prototype.handleLayersChanged = function() {
};
/**
* @param {ol.CollectionEvent} collectionEvent Collection event.
* @protected
*/
ol.MapRenderer.prototype.handleLayersAdd = function(collectionEvent) {
var layer = /** @type {ol.Layer} */ collectionEvent.elem;
this.addLayer(layer);
};
/**
* @param {ol.Layer} layer Layer.
* @protected
*/
ol.MapRenderer.prototype.addLayer = function(layer) {
var layerRenderer = this.createLayerRenderer(layer);
this.setLayerRenderer(layer, layerRenderer);
};
/**
* @param {ol.Layer} layer Layer.
* @protected
* @return {ol.LayerRenderer} layerRenderer Layer renderer.
*/
ol.MapRenderer.prototype.createLayerRenderer = goog.abstractMethod;
/**
* @param {ol.CollectionEvent} collectionEvent Collection event.
* @protected
@@ -243,6 +255,30 @@ ol.MapRenderer.prototype.handleLayersRemove = function(collectionEvent) {
};
/**
* @protected
*/
ol.MapRenderer.prototype.handleResolutionChanged = function() {
this.matricesDirty_ = true;
};
/**
* @protected
*/
ol.MapRenderer.prototype.handleRotationChanged = function() {
this.matricesDirty_ = true;
};
/**
* @protected
*/
ol.MapRenderer.prototype.handleSizeChanged = function() {
this.matricesDirty_ = true;
};
/**
* @param {ol.Layer} layer Layer.
* @protected
@@ -269,30 +305,6 @@ ol.MapRenderer.prototype.removeLayerRenderer = function(layer) {
};
/**
* @protected
*/
ol.MapRenderer.prototype.handleResolutionChanged = function() {
this.matricesDirty_ = true;
};
/**
* @protected
*/
ol.MapRenderer.prototype.handleRotationChanged = function() {
this.matricesDirty_ = true;
};
/**
* @protected
*/
ol.MapRenderer.prototype.handleSizeChanged = function() {
this.matricesDirty_ = true;
};
/**
* @return {boolean} Animating.
*/
@@ -307,6 +319,18 @@ ol.MapRenderer.prototype.render = function() {
};
/**
* @param {ol.Layer} layer Layer.
* @param {ol.LayerRenderer} layerRenderer Layer renderer.
* @protected
*/
ol.MapRenderer.prototype.setLayerRenderer = function(layer, layerRenderer) {
var key = goog.getUid(layer);
goog.asserts.assert(!(key in this.layerRenderers));
this.layerRenderers[key] = layerRenderer;
};
/**
* @private
*/
@@ -350,27 +374,3 @@ ol.MapRenderer.prototype.updateMatrices_ = function() {
}
};
/**
* @param {ol.Pixel} pixel Pixel.
* @return {ol.Coordinate} Coordinate.
*/
ol.MapRenderer.prototype.getCoordinateFromPixel = function(pixel) {
this.updateMatrices_();
var vec3 = [pixel.x, pixel.y, 0];
goog.vec.Mat4.multVec3(this.pixelToCoordinateMatrix_, vec3, vec3);
return new ol.Coordinate(vec3[0], vec3[1]);
};
/**
* @param {ol.Coordinate} coordinate Coordinate.
* @return {ol.Pixel} Pixel.
*/
ol.MapRenderer.prototype.getPixelFromCoordinate = function(coordinate) {
this.updateMatrices_();
var vec3 = [coordinate.x, coordinate.y, 0];
goog.vec.Mat4.multVec3(this.coordinateToPixelMatrix_, vec3, vec3);
return new ol.Pixel(vec3[0], vec3[1]);
};

View File

@@ -37,6 +37,27 @@ ol.Object = function(opt_values) {
goog.inherits(ol.Object, goog.events.EventTarget);
/**
* @private
* @type {Object.<string, string>}
*/
ol.Object.changedEventTypeCache_ = {};
/**
* @private
* @type {Object.<string, string>}
*/
ol.Object.getterNameCache_ = {};
/**
* @private
* @type {Object.<string, string>}
*/
ol.Object.setterNameCache_ = {};
/**
* @param {string} str String.
* @return {string} Capitalized string.
@@ -62,10 +83,13 @@ ol.Object.create = function(arg) {
/**
* @private
* @type {Object.<string, string>}
* @param {ol.Object} obj Object.
* @return {Object.<string, {target: ol.Object, key: string}>} Accessors.
*/
ol.Object.changedEventTypeCache_ = {};
ol.Object.getAccessors = function(obj) {
return obj[ol.ObjectProperty.ACCESSORS] ||
(obj[ol.ObjectProperty.ACCESSORS] = {});
};
/**
@@ -78,13 +102,6 @@ ol.Object.getChangedEventType = function(key) {
};
/**
* @private
* @type {Object.<string, string>}
*/
ol.Object.getterNameCache_ = {};
/**
* @param {string} key String.
* @return {string} Getter name.
@@ -96,10 +113,13 @@ ol.Object.getGetterName = function(key) {
/**
* @private
* @type {Object.<string, string>}
* @param {ol.Object} obj Object.
* @return {Object.<string, ?number>} Listeners.
*/
ol.Object.setterNameCache_ = {};
ol.Object.getListeners = function(obj) {
return obj[ol.ObjectProperty.BINDINGS] ||
(obj[ol.ObjectProperty.BINDINGS] = {});
};
/**
@@ -112,26 +132,6 @@ ol.Object.getSetterName = function(key) {
};
/**
* @param {ol.Object} obj Object.
* @return {Object.<string, {target: ol.Object, key: string}>} Accessors.
*/
ol.Object.getAccessors = function(obj) {
return obj[ol.ObjectProperty.ACCESSORS] ||
(obj[ol.ObjectProperty.ACCESSORS] = {});
};
/**
* @param {ol.Object} obj Object.
* @return {Object.<string, ?number>} Listeners.
*/
ol.Object.getListeners = function(obj) {
return obj[ol.ObjectProperty.BINDINGS] ||
(obj[ol.ObjectProperty.BINDINGS] = {});
};
/**
* @param {string} key Key.
* @param {ol.Object} target Target.

View File

@@ -78,6 +78,28 @@ ol.control.Attribution = function(map) {
goog.inherits(ol.control.Attribution, ol.Control);
/**
* @param {ol.Layer} layer Layer.
* @protected
*/
ol.control.Attribution.prototype.addLayer = function(layer) {
var layerKey = goog.getUid(layer);
this.layerVisibleChangeListenerKeys_[layerKey] = goog.events.listen(
layer, ol.Object.getChangedEventType(ol.LayerProperty.VISIBLE),
this.handleLayerVisibleChanged, false, this);
if (layer.getStore().isReady()) {
this.createAttributionElementsForLayer_(layer);
} else {
goog.events.listenOnce(layer, goog.events.EventType.LOAD,
this.handleLayerLoad, false, this);
}
};
/**
* @param {ol.Layer} layer Layer.
* @private
@@ -140,23 +162,83 @@ ol.control.Attribution.prototype.getElement = function() {
/**
* @param {ol.Layer} layer Layer.
* @protected
* @param {ol.Extent} mapExtent Map extent.
* @param {number} mapResolution Map resolution.
* @param {ol.Projection} mapProjection Map projection.
* @return {Object.<number, boolean>} Attribution visibilities.
* @private
*/
ol.control.Attribution.prototype.addLayer = function(layer) {
ol.control.Attribution.prototype.getLayerAttributionVisiblities_ =
function(layer, mapExtent, mapResolution, mapProjection) {
var layerKey = goog.getUid(layer);
var store = layer.getStore();
var attributions = store.getAttributions();
this.layerVisibleChangeListenerKeys_[layerKey] = goog.events.listen(
layer, ol.Object.getChangedEventType(ol.LayerProperty.VISIBLE),
this.handleLayerVisibleChanged, false, this);
if (layer.getStore().isReady()) {
this.createAttributionElementsForLayer_(layer);
} else {
goog.events.listenOnce(layer, goog.events.EventType.LOAD,
this.handleLayerLoad, false, this);
if (goog.isNull(attributions)) {
return null;
}
var mapZ;
if (store instanceof ol.TileStore) {
var tileStore = /** @type {ol.TileStore} */ store;
var tileGrid = tileStore.getTileGrid();
mapZ = tileGrid.getZForResolution(mapResolution);
}
var attributionVisibilities = {};
goog.array.forEach(attributions, function(attribution) {
var attributionKey = goog.getUid(attribution);
var attributionVisible = true;
var coverageAreas;
if (attributionKey in this.coverageAreass_) {
coverageAreas = this.coverageAreass_[attributionKey];
} else {
var attributionProjection = attribution.getProjection();
coverageAreas = attribution.getCoverageAreas();
if (!goog.isNull(coverageAreas) &&
!ol.Projection.equivalent(attributionProjection, mapProjection)) {
var transformFn = ol.Projection.getTransform(
attributionProjection, mapProjection);
if (transformFn !== ol.Projection.cloneTransform) {
coverageAreas = goog.array.map(coverageAreas, function(coverageArea) {
return coverageArea.transform(transformFn);
});
}
}
this.coverageAreass_[attributionKey] = coverageAreas;
}
if (!goog.isNull(coverageAreas)) {
if (store instanceof ol.TileStore) {
attributionVisible = goog.array.some(
coverageAreas,
/**
* @param {ol.TileCoverageArea} tileCoverageArea Tile coverage area.
*/
function(tileCoverageArea) {
goog.asserts.assert(
tileCoverageArea instanceof ol.TileCoverageArea);
return tileCoverageArea.intersectsExtentAndZ(mapExtent, mapZ);
});
} else {
attributionVisible = goog.array.some(
coverageAreas,
function(coverageArea) {
return coverageArea.intersectsExtentAndResolution(
mapExtent, mapResolution);
});
}
}
attributionVisibilities[attributionKey] = attributionVisible;
}, this);
return attributionVisibilities;
};
@@ -170,29 +252,7 @@ ol.control.Attribution.prototype.handleLayerLoad = function(event) {
/**
* @param {ol.Layer} layer Layer.
* @protected
*/
ol.control.Attribution.prototype.removeLayer = function(layer) {
var layerKey = goog.getUid(layer);
goog.events.unlistenByKey(this.layerVisibleChangeListenerKeys_[layerKey]);
delete this.layerVisibleChangeListenerKeys_[layerKey];
goog.array.forEach(layer.getStore().getAttributions(), function(attribution) {
var attributionKey = goog.getUid(attribution);
delete this.coverageAreass_[attributionKey];
var attributionElement = this.attributionElements_[attributionKey];
goog.dom.removeNode(attributionElement);
delete this.attributionElements_[attributionKey];
}, this);
};
/**
* @param {goog.events.Event} event Eveny.
* @param {goog.events.Event} event Event.
* @protected
*/
ol.control.Attribution.prototype.handleLayerVisibleChanged = function(event) {
@@ -281,83 +341,23 @@ ol.control.Attribution.prototype.handleMapLayersChanged = function() {
/**
* @param {ol.Layer} layer Layer.
* @param {ol.Extent} mapExtent Map extent.
* @param {number} mapResolution Map resolution.
* @param {ol.Projection} mapProjection Map projection.
* @return {Object.<number, boolean>} Attribution visibilities.
* @private
* @protected
*/
ol.control.Attribution.prototype.getLayerAttributionVisiblities_ =
function(layer, mapExtent, mapResolution, mapProjection) {
ol.control.Attribution.prototype.removeLayer = function(layer) {
var store = layer.getStore();
var attributions = store.getAttributions();
var layerKey = goog.getUid(layer);
if (goog.isNull(attributions)) {
return null;
}
var mapZ;
if (store instanceof ol.TileStore) {
var tileStore = /** @type {ol.TileStore} */ store;
var tileGrid = tileStore.getTileGrid();
mapZ = tileGrid.getZForResolution(mapResolution);
}
var attributionVisibilities = {};
goog.array.forEach(attributions, function(attribution) {
goog.events.unlistenByKey(this.layerVisibleChangeListenerKeys_[layerKey]);
delete this.layerVisibleChangeListenerKeys_[layerKey];
goog.array.forEach(layer.getStore().getAttributions(), function(attribution) {
var attributionKey = goog.getUid(attribution);
var attributionVisible = true;
var coverageAreas;
if (attributionKey in this.coverageAreass_) {
coverageAreas = this.coverageAreass_[attributionKey];
} else {
var attributionProjection = attribution.getProjection();
coverageAreas = attribution.getCoverageAreas();
if (!goog.isNull(coverageAreas) &&
!ol.Projection.equivalent(attributionProjection, mapProjection)) {
var transformFn = ol.Projection.getTransform(
attributionProjection, mapProjection);
if (transformFn !== ol.Projection.cloneTransform) {
coverageAreas = goog.array.map(coverageAreas, function(coverageArea) {
return coverageArea.transform(transformFn);
});
}
}
this.coverageAreass_[attributionKey] = coverageAreas;
}
if (!goog.isNull(coverageAreas)) {
if (store instanceof ol.TileStore) {
attributionVisible = goog.array.some(
coverageAreas,
/**
* @param {ol.TileCoverageArea} tileCoverageArea Tile coverage area.
*/
function(tileCoverageArea) {
goog.asserts.assert(
tileCoverageArea instanceof ol.TileCoverageArea);
return tileCoverageArea.intersectsExtentAndZ(mapExtent, mapZ);
});
} else {
attributionVisible = goog.array.some(
coverageAreas,
function(coverageArea) {
return coverageArea.intersectsExtentAndResolution(
mapExtent, mapResolution);
});
}
}
attributionVisibilities[attributionKey] = attributionVisible;
delete this.coverageAreass_[attributionKey];
var attributionElement = this.attributionElements_[attributionKey];
goog.dom.removeNode(attributionElement);
delete this.attributionElements_[attributionKey];
}, this);
return attributionVisibilities;
};

View File

@@ -96,15 +96,6 @@ ol.control.MousePosition.prototype.handleMapProjectionChanged = function() {
};
/**
* @param {goog.events.BrowserEvent} browserEvent Browser event.
* @protected
*/
ol.control.MousePosition.prototype.handleMouseOut = function(browserEvent) {
this.divElement_.innerHTML = this.undefinedHTML_;
};
/**
* @param {goog.events.BrowserEvent} browserEvent Browser event.
* @protected
@@ -126,3 +117,12 @@ ol.control.MousePosition.prototype.handleMouseMove = function(browserEvent) {
}
this.divElement_.innerHTML = html;
};
/**
* @param {goog.events.BrowserEvent} browserEvent Browser event.
* @protected
*/
ol.control.MousePosition.prototype.handleMouseOut = function(browserEvent) {
this.divElement_.innerHTML = this.undefinedHTML_;
};

View File

@@ -45,16 +45,6 @@ ol.dom.LayerRenderer.prototype.getMapRenderer = function() {
};
/**
* Set the location of the top left corner of the target.
*
* @param {ol.Coordinate} origin Origin.
*/
ol.dom.LayerRenderer.prototype.setOrigin = function(origin) {
this.origin = origin;
};
/**
* @inheritDoc
*/
@@ -74,3 +64,13 @@ ol.dom.LayerRenderer.prototype.handleLayerVisibleChange = function() {
/**
*/
ol.dom.LayerRenderer.prototype.render = goog.abstractMethod;
/**
* Set the location of the top left corner of the target.
*
* @param {ol.Coordinate} origin Origin.
*/
ol.dom.LayerRenderer.prototype.setOrigin = function(origin) {
this.origin = origin;
};

View File

@@ -66,6 +66,59 @@ ol.dom.MapRenderer = function(target, map) {
goog.inherits(ol.dom.MapRenderer, ol.MapRenderer);
/**
* @inheritDoc
*/
ol.dom.MapRenderer.prototype.createLayerRenderer = function(layer) {
if (layer instanceof ol.TileLayer) {
var layerPane = goog.dom.createElement(goog.dom.TagName.DIV);
layerPane.className = 'ol-layer';
layerPane.style.position = 'absolute';
goog.dom.appendChild(this.layersPane_, layerPane);
var layerRenderer = new ol.dom.TileLayerRenderer(this, layer, layerPane);
this.layerPanes_[goog.getUid(layerRenderer)] = layerPane;
return layerRenderer;
} else {
goog.asserts.assert(false);
return null;
}
};
/**
* @inheritDoc
*/
ol.dom.MapRenderer.prototype.handleCenterChanged = function() {
goog.base(this, 'handleCenterChanged');
// FIXME: shiftLayersPane_ and resetLayersPane_ should be called
// elsewhere as we may be frozen here
if (goog.isDef(this.renderedCenter_)) {
this.shiftLayersPane_();
} else {
this.resetLayersPane_();
}
this.render();
};
/**
* @inheritDoc
*/
ol.dom.MapRenderer.prototype.handleResolutionChanged = function() {
goog.base(this, 'handleResolutionChanged');
// FIXME: resetLayersPane_ should be called
// elsewhere as we may be frozen here
this.resetLayersPane_();
this.render();
};
/**
* Reset the layers pane to its initial position.
* @private
@@ -118,56 +171,3 @@ ol.dom.MapRenderer.prototype.shiftLayersPane_ = function() {
this.renderedCenter_ = center;
}
};
/**
* @inheritDoc
*/
ol.dom.MapRenderer.prototype.createLayerRenderer = function(layer) {
if (layer instanceof ol.TileLayer) {
var layerPane = goog.dom.createElement(goog.dom.TagName.DIV);
layerPane.className = 'ol-layer';
layerPane.style.position = 'absolute';
goog.dom.appendChild(this.layersPane_, layerPane);
var layerRenderer = new ol.dom.TileLayerRenderer(this, layer, layerPane);
this.layerPanes_[goog.getUid(layerRenderer)] = layerPane;
return layerRenderer;
} else {
goog.asserts.assert(false);
return null;
}
};
/**
* @inheritDoc
*/
ol.dom.MapRenderer.prototype.handleCenterChanged = function() {
goog.base(this, 'handleCenterChanged');
// FIXME: shiftLayersPane_ and resetLayersPane_ should be called
// elsewhere as we may be frozen here
if (goog.isDef(this.renderedCenter_)) {
this.shiftLayersPane_();
} else {
this.resetLayersPane_();
}
this.render();
};
/**
* @inheritDoc
*/
ol.dom.MapRenderer.prototype.handleResolutionChanged = function() {
goog.base(this, 'handleResolutionChanged');
// FIXME: resetLayersPane_ should be called
// elsewhere as we may be frozen here
this.resetLayersPane_();
this.render();
};

View File

@@ -44,6 +44,50 @@ ol.dom.TileLayerRenderer.prototype.getLayer = function() {
};
/**
* Get the pixel offset between the tile origin and the container origin.
* @private
* @param {number} z Z.
* @param {number} resolution Resolution.
* @return {ol.Coordinate} Offset.
*/
ol.dom.TileLayerRenderer.prototype.getTileOffset_ = function(z, resolution) {
var tileLayer = this.getLayer();
var tileStore = tileLayer.getStore();
var tileGrid = tileStore.getTileGrid();
var tileOrigin = tileGrid.getOrigin(z);
var offset = new ol.Coordinate(
Math.round((this.origin.x - tileOrigin.x) / resolution),
Math.round((tileOrigin.y - this.origin.y) / resolution));
return offset;
};
/**
* Get rid of tiles outside the rendered extent.
* @private
* @param {ol.TileBounds} tileBounds Tile bounds.
* @param {number} z Z.
*/
ol.dom.TileLayerRenderer.prototype.removeInvisibleTiles_ = function(
tileBounds, z) {
var key, tileCoord, prune, tile;
for (key in this.renderedTiles_) {
tileCoord = ol.TileCoord.createFromString(key);
prune = z !== tileCoord.z ||
tileCoord.x < tileBounds.minX ||
tileCoord.x > tileBounds.maxX ||
tileCoord.y < tileBounds.minY ||
tileCoord.y > tileBounds.maxY;
if (prune) {
tile = this.renderedTiles_[key];
delete this.renderedTiles_[key];
goog.dom.removeNode(tile.getImage(this));
}
}
};
/**
* @inheritDoc
*/
@@ -105,47 +149,3 @@ ol.dom.TileLayerRenderer.prototype.render = function() {
this.removeInvisibleTiles_(tileBounds, z);
this.renderedMapResolution_ = mapResolution;
};
/**
* Get the pixel offset between the tile origin and the container origin.
* @private
* @param {number} z Z.
* @param {number} resolution Resolution.
* @return {ol.Coordinate} Offset.
*/
ol.dom.TileLayerRenderer.prototype.getTileOffset_ = function(z, resolution) {
var tileLayer = this.getLayer();
var tileStore = tileLayer.getStore();
var tileGrid = tileStore.getTileGrid();
var tileOrigin = tileGrid.getOrigin(z);
var offset = new ol.Coordinate(
Math.round((this.origin.x - tileOrigin.x) / resolution),
Math.round((tileOrigin.y - this.origin.y) / resolution));
return offset;
};
/**
* Get rid of tiles outside the rendered extent.
* @private
* @param {ol.TileBounds} tileBounds Tile bounds.
* @param {number} z Z.
*/
ol.dom.TileLayerRenderer.prototype.removeInvisibleTiles_ = function(
tileBounds, z) {
var key, tileCoord, prune, tile;
for (key in this.renderedTiles_) {
tileCoord = ol.TileCoord.createFromString(key);
prune = z !== tileCoord.z ||
tileCoord.x < tileBounds.minX ||
tileCoord.x > tileBounds.maxX ||
tileCoord.y < tileBounds.minY ||
tileCoord.y > tileBounds.maxY;
if (prune) {
tile = this.renderedTiles_[key];
delete this.renderedTiles_[key];
goog.dom.removeNode(tile.getImage(this));
}
}
};

View File

@@ -70,16 +70,16 @@ ol.interaction.Drag.prototype.handleDrag = goog.nullFunction;
/**
* @param {ol.MapBrowserEvent} mapBrowserEvent Event.
* @protected
* @return {boolean} Capture dragging.
*/
ol.interaction.Drag.prototype.handleDragStart = goog.functions.FALSE;
ol.interaction.Drag.prototype.handleDragEnd = goog.nullFunction;
/**
* @param {ol.MapBrowserEvent} mapBrowserEvent Event.
* @protected
* @return {boolean} Capture dragging.
*/
ol.interaction.Drag.prototype.handleDragEnd = goog.nullFunction;
ol.interaction.Drag.prototype.handleDragStart = goog.functions.FALSE;
/**

View File

@@ -22,12 +22,6 @@ ol.Interaction = function(constraints) {
};
/**
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
*/
ol.Interaction.prototype.handleMapBrowserEvent = goog.abstractMethod;
/**
* @param {ol.Map} map Map.
* @param {ol.Extent} extent Extent.
@@ -44,6 +38,12 @@ ol.Interaction.prototype.fitExtent = function(map, extent) {
};
/**
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
*/
ol.Interaction.prototype.handleMapBrowserEvent = goog.abstractMethod;
/**
* @param {ol.Map} map Map.
* @param {ol.Coordinate} delta Delta.

View File

@@ -41,6 +41,16 @@ ol.TileUrlFunction.createFromTemplate = function(template) {
};
/**
* @param {Array.<string>} templates Templates.
* @return {ol.TileUrlFunctionType} Tile URL function.
*/
ol.TileUrlFunction.createFromTemplates = function(templates) {
return ol.TileUrlFunction.createFromTileUrlFunctions(
goog.array.map(templates, ol.TileUrlFunction.createFromTemplate));
};
/**
* @param {Array.<ol.TileUrlFunctionType>} tileUrlFunctions Tile URL Functions.
* @return {ol.TileUrlFunctionType} Tile URL function.
@@ -57,16 +67,6 @@ ol.TileUrlFunction.createFromTileUrlFunctions = function(tileUrlFunctions) {
};
/**
* @param {Array.<string>} templates Templates.
* @return {ol.TileUrlFunctionType} Tile URL function.
*/
ol.TileUrlFunction.createFromTemplates = function(templates) {
return ol.TileUrlFunction.createFromTileUrlFunctions(
goog.array.map(templates, ol.TileUrlFunction.createFromTemplate));
};
/**
* @param {ol.TileCoord} tileCoord Tile coordinate.
* @return {string|undefined} Tile URL.

View File

@@ -26,12 +26,6 @@ ol.webgl.LayerRenderer.prototype.dispatchChangeEvent = function() {
};
/**
* @return {WebGLTexture} Texture.
*/
ol.webgl.LayerRenderer.prototype.getTexture = goog.abstractMethod;
/**
* @override
* @return {ol.MapRenderer} MapRenderer.
@@ -47,6 +41,12 @@ ol.webgl.LayerRenderer.prototype.getMapRenderer = function() {
ol.webgl.LayerRenderer.prototype.getMatrix = goog.abstractMethod;
/**
* @return {WebGLTexture} Texture.
*/
ol.webgl.LayerRenderer.prototype.getTexture = goog.abstractMethod;
/**
* @inheritDoc
*/

View File

@@ -514,6 +514,31 @@ ol.webgl.MapRenderer.prototype.isImageTextureLoaded = function(image) {
};
/**
* @inheritDoc
*/
ol.webgl.MapRenderer.prototype.removeLayer = function(layer) {
goog.base(this, 'removeLayer', layer);
if (layer.getVisible()) {
this.render();
}
};
/**
* @inheritDoc
*/
ol.webgl.MapRenderer.prototype.removeLayerRenderer = function(layer) {
var layerRenderer = goog.base(this, 'removeLayerRenderer', layer);
if (!goog.isNull(layerRenderer)) {
var layerKey = goog.getUid(layer);
goog.events.unlistenByKey(this.layerRendererChangeListenKeys_[layerKey]);
delete this.layerRendererChangeListenKeys_[layerKey];
}
return layerRenderer;
};
/**
* @inheritDoc
*/
@@ -592,31 +617,6 @@ ol.webgl.MapRenderer.prototype.render = function() {
};
/**
* @inheritDoc
*/
ol.webgl.MapRenderer.prototype.removeLayer = function(layer) {
goog.base(this, 'removeLayer', layer);
if (layer.getVisible()) {
this.render();
}
};
/**
* @inheritDoc
*/
ol.webgl.MapRenderer.prototype.removeLayerRenderer = function(layer) {
var layerRenderer = goog.base(this, 'removeLayerRenderer', layer);
if (!goog.isNull(layerRenderer)) {
var layerKey = goog.getUid(layer);
goog.events.unlistenByKey(this.layerRendererChangeListenKeys_[layerKey]);
delete this.layerRendererChangeListenKeys_[layerKey];
}
return layerRenderer;
};
/**
* @inheritDoc
*/

View File

@@ -145,21 +145,6 @@ ol.webgl.TileLayerRenderer = function(mapRenderer, tileLayer) {
goog.inherits(ol.webgl.TileLayerRenderer, ol.webgl.LayerRenderer);
/**
* @protected
*/
ol.webgl.TileLayerRenderer.prototype.disposeInternal = function() {
var mapRenderer = this.getMapRenderer();
var gl = mapRenderer.getGL();
if (!gl.isContextLost()) {
gl.deleteBuffer(this.arrayBuffer_);
gl.deleteFramebuffer(this.framebuffer_);
gl.deleteTexture(this.texture_);
}
goog.base(this, 'disposeInternal');
};
/**
* @param {number} framebufferDimension Framebuffer dimension.
* @private
@@ -202,6 +187,21 @@ ol.webgl.TileLayerRenderer.prototype.bindFramebuffer_ =
};
/**
* @protected
*/
ol.webgl.TileLayerRenderer.prototype.disposeInternal = function() {
var mapRenderer = this.getMapRenderer();
var gl = mapRenderer.getGL();
if (!gl.isContextLost()) {
gl.deleteBuffer(this.arrayBuffer_);
gl.deleteFramebuffer(this.framebuffer_);
gl.deleteTexture(this.texture_);
}
goog.base(this, 'disposeInternal');
};
/**
* @return {ol.TileLayer} Layer.
* @override