diff --git a/externs/olx.js b/externs/olx.js index 5ff47a3a2b..43625bec13 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -4450,7 +4450,7 @@ olx.source.TileUTFGridOptions.prototype.url; * reprojectionErrorThreshold: (number|undefined), * state: (ol.source.State|undefined), * tileClass: (function(new: ol.ImageTile, ol.TileCoord, - * ol.Tile.State, string, ?string, + * ol.TileState, string, ?string, * ol.TileLoadFunctionType)|undefined), * tileGrid: (ol.tilegrid.TileGrid|undefined), * tileLoadFunction: (ol.TileLoadFunctionType|undefined), @@ -4535,7 +4535,7 @@ olx.source.TileImageOptions.prototype.state; /** * Class used to instantiate image tiles. Default is {@link ol.ImageTile}. * @type {function(new: ol.ImageTile, ol.TileCoord, - * ol.Tile.State, string, ?string, + * ol.TileState, string, ?string, * ol.TileLoadFunctionType)|undefined} * @api */ @@ -4620,7 +4620,7 @@ olx.source.TileImageOptions.prototype.wrapX; * projection: ol.ProjectionLike, * state: (ol.source.State|undefined), * tileClass: (function(new: ol.VectorTile, ol.TileCoord, - * ol.Tile.State, string, ol.format.Feature, + * ol.TileState, string, ol.format.Feature, * ol.TileLoadFunctionType)|undefined), * tileGrid: (ol.tilegrid.TileGrid|undefined), * tileLoadFunction: (ol.TileLoadFunctionType|undefined), @@ -4696,7 +4696,7 @@ olx.source.VectorTileOptions.prototype.state; /** * Class used to instantiate image tiles. Default is {@link ol.VectorTile}. * @type {function(new: ol.VectorTile, ol.TileCoord, - * ol.Tile.State, string, ol.format.Feature, + * ol.TileState, string, ol.format.Feature, * ol.TileLoadFunctionType)|undefined} * @api */ @@ -6206,7 +6206,7 @@ olx.source.VectorOptions.prototype.wrapX; * tileLoadFunction: (ol.TileLoadFunctionType|undefined), * urls: (Array.|undefined), * tileClass: (function(new: ol.ImageTile, ol.TileCoord, - * ol.Tile.State, string, ?string, + * ol.TileState, string, ?string, * ol.TileLoadFunctionType)|undefined), * wrapX: (boolean|undefined)}} */ @@ -6301,7 +6301,7 @@ olx.source.WMTSOptions.prototype.style; /** * Class used to instantiate image tiles. Default is {@link ol.ImageTile}. * @type {function(new: ol.ImageTile, ol.TileCoord, - * ol.Tile.State, string, ?string, + * ol.TileState, string, ?string, * ol.TileLoadFunctionType)|undefined} * @api */ diff --git a/src/ol/imagetile.js b/src/ol/imagetile.js index b27d0e1bea..e465695408 100644 --- a/src/ol/imagetile.js +++ b/src/ol/imagetile.js @@ -2,6 +2,7 @@ goog.provide('ol.ImageTile'); goog.require('ol'); goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.events'); goog.require('ol.events.EventType'); @@ -10,7 +11,7 @@ goog.require('ol.events.EventType'); * @constructor * @extends {ol.Tile} * @param {ol.TileCoord} tileCoord Tile coordinate. - * @param {ol.Tile.State} state State. + * @param {ol.TileState} state State. * @param {string} src Image source URI. * @param {?string} crossOrigin Cross origin. * @param {ol.TileLoadFunctionType} tileLoadFunction Tile load function. @@ -56,13 +57,13 @@ ol.inherits(ol.ImageTile, ol.Tile); * @inheritDoc */ ol.ImageTile.prototype.disposeInternal = function() { - if (this.state == ol.Tile.State.LOADING) { + if (this.state == ol.TileState.LOADING) { this.unlistenImage_(); } if (this.interimTile) { this.interimTile.dispose(); } - this.state = ol.Tile.State.ABORT; + this.state = ol.TileState.ABORT; this.changed(); ol.Tile.prototype.disposeInternal.call(this); }; @@ -92,7 +93,7 @@ ol.ImageTile.prototype.getKey = function() { * @private */ ol.ImageTile.prototype.handleImageError_ = function() { - this.state = ol.Tile.State.ERROR; + this.state = ol.TileState.ERROR; this.unlistenImage_(); this.changed(); }; @@ -105,9 +106,9 @@ ol.ImageTile.prototype.handleImageError_ = function() { */ ol.ImageTile.prototype.handleImageLoad_ = function() { if (this.image_.naturalWidth && this.image_.naturalHeight) { - this.state = ol.Tile.State.LOADED; + this.state = ol.TileState.LOADED; } else { - this.state = ol.Tile.State.EMPTY; + this.state = ol.TileState.EMPTY; } this.unlistenImage_(); this.changed(); @@ -121,8 +122,8 @@ ol.ImageTile.prototype.handleImageLoad_ = function() { * @api */ ol.ImageTile.prototype.load = function() { - if (this.state == ol.Tile.State.IDLE || this.state == ol.Tile.State.ERROR) { - this.state = ol.Tile.State.LOADING; + if (this.state == ol.TileState.IDLE || this.state == ol.TileState.ERROR) { + this.state = ol.TileState.LOADING; this.changed(); ol.DEBUG && console.assert(!this.imageListenerKeys_, 'this.imageListenerKeys_ should be null'); diff --git a/src/ol/index.js b/src/ol/index.js index 642a0ff937..096adc4c0b 100644 --- a/src/ol/index.js +++ b/src/ol/index.js @@ -164,7 +164,7 @@ ol.OVERVIEWMAP_MIN_RATIO = 0.1; * This can happen if the developer defines projections improperly and/or * with unlimited extents. * If too many tiles are required, no tiles are loaded and - * `ol.Tile.State.ERROR` state is set. Default is `100`. + * `ol.TileState.ERROR` state is set. Default is `100`. */ ol.RASTER_REPROJECTION_MAX_SOURCE_TILES = 100; diff --git a/src/ol/renderer/canvas/tilelayer.js b/src/ol/renderer/canvas/tilelayer.js index b1e8cc584c..bb5828bbba 100644 --- a/src/ol/renderer/canvas/tilelayer.js +++ b/src/ol/renderer/canvas/tilelayer.js @@ -3,14 +3,14 @@ goog.provide('ol.renderer.canvas.TileLayer'); goog.require('ol'); -goog.require('ol.transform'); goog.require('ol.TileRange'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.ViewHint'); goog.require('ol.array'); goog.require('ol.dom'); goog.require('ol.extent'); goog.require('ol.renderer.canvas.IntermediateCanvas'); +goog.require('ol.transform'); /** @@ -88,9 +88,9 @@ ol.inherits(ol.renderer.canvas.TileLayer, ol.renderer.canvas.IntermediateCanvas) ol.renderer.canvas.TileLayer.prototype.isDrawableTile_ = function(tile) { var tileState = tile.getState(); var useInterimTilesOnError = this.getLayer().getUseInterimTilesOnError(); - return tileState == ol.Tile.State.LOADED || - tileState == ol.Tile.State.EMPTY || - tileState == ol.Tile.State.ERROR && !useInterimTilesOnError; + return tileState == ol.TileState.LOADED || + tileState == ol.TileState.EMPTY || + tileState == ol.TileState.ERROR && !useInterimTilesOnError; }; /** @@ -147,7 +147,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(frameState, layer tile = tile.getInterimTile(); } if (this.isDrawableTile_(tile)) { - if (tile.getState() == ol.Tile.State.LOADED) { + if (tile.getState() == ol.TileState.LOADED) { tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; if (!newTiles && this.renderedTiles.indexOf(tile) == -1) { newTiles = true; diff --git a/src/ol/renderer/layer.js b/src/ol/renderer/layer.js index df07c26a2a..1a731f58eb 100644 --- a/src/ol/renderer/layer.js +++ b/src/ol/renderer/layer.js @@ -3,7 +3,7 @@ goog.provide('ol.renderer.Layer'); goog.require('ol'); goog.require('ol.ImageState'); goog.require('ol.Observable'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); @@ -269,7 +269,7 @@ ol.renderer.Layer.prototype.manageTilePyramid = function( for (y = tileRange.minY; y <= tileRange.maxY; ++y) { if (currentZ - z <= preload) { tile = tileSource.getTile(z, x, y, pixelRatio, projection); - if (tile.getState() == ol.Tile.State.IDLE) { + if (tile.getState() == ol.TileState.IDLE) { wantedTiles[tile.getKey()] = true; if (!tileQueue.isKeyQueued(tile.getKey())) { tileQueue.enqueue([tile, tileSourceKey, diff --git a/src/ol/renderer/webgl/tilelayer.js b/src/ol/renderer/webgl/tilelayer.js index 824f7d3303..0621ef6fff 100644 --- a/src/ol/renderer/webgl/tilelayer.js +++ b/src/ol/renderer/webgl/tilelayer.js @@ -4,7 +4,7 @@ goog.provide('ol.renderer.webgl.TileLayer'); goog.require('ol'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.TileRange'); goog.require('ol.array'); goog.require('ol.extent'); @@ -242,20 +242,20 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerS } } tileState = tile.getState(); - drawable = tileState == ol.Tile.State.LOADED || - tileState == ol.Tile.State.EMPTY || - tileState == ol.Tile.State.ERROR && !useInterimTilesOnError; + drawable = tileState == ol.TileState.LOADED || + tileState == ol.TileState.EMPTY || + tileState == ol.TileState.ERROR && !useInterimTilesOnError; if (!drawable) { tile = tile.getInterimTile(); } tileState = tile.getState(); - if (tileState == ol.Tile.State.LOADED) { + if (tileState == ol.TileState.LOADED) { if (mapRenderer.isTileTextureLoaded(tile)) { tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; continue; } - } else if (tileState == ol.Tile.State.EMPTY || - (tileState == ol.Tile.State.ERROR && + } else if (tileState == ol.TileState.EMPTY || + (tileState == ol.TileState.ERROR && !useInterimTilesOnError)) { continue; } @@ -322,7 +322,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerS * @param {ol.Tile} tile Tile. */ function(tile) { - if (tile.getState() == ol.Tile.State.LOADED && + if (tile.getState() == ol.TileState.LOADED && !mapRenderer.isTileTextureLoaded(tile) && !tileTextureQueue.isKeyQueued(tile.getKey())) { tileTextureQueue.enqueue([ diff --git a/src/ol/reproj/tile.js b/src/ol/reproj/tile.js index 0d6585f89f..1addc51f7c 100644 --- a/src/ol/reproj/tile.js +++ b/src/ol/reproj/tile.js @@ -2,6 +2,7 @@ goog.provide('ol.reproj.Tile'); goog.require('ol'); goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.extent'); @@ -35,7 +36,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid, pixelRatio, gutter, getTileFunction, opt_errorThreshold, opt_renderEdges) { - ol.Tile.call(this, tileCoord, ol.Tile.State.IDLE); + ol.Tile.call(this, tileCoord, ol.TileState.IDLE); /** * @private @@ -107,7 +108,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid, if (ol.extent.getArea(limitedTargetExtent) === 0) { // Tile is completely outside range -> EMPTY // TODO: is it actually correct that the source even creates the tile ? - this.state = ol.Tile.State.EMPTY; + this.state = ol.TileState.EMPTY; return; } @@ -131,7 +132,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid, if (!isFinite(sourceResolution) || sourceResolution <= 0) { // invalid sourceResolution -> EMPTY // probably edges of the projections when no extent is defined - this.state = ol.Tile.State.EMPTY; + this.state = ol.TileState.EMPTY; return; } @@ -148,7 +149,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid, if (this.triangulation_.getTriangles().length === 0) { // no valid triangles -> EMPTY - this.state = ol.Tile.State.EMPTY; + this.state = ol.TileState.EMPTY; return; } @@ -167,7 +168,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid, } if (!ol.extent.getArea(sourceExtent)) { - this.state = ol.Tile.State.EMPTY; + this.state = ol.TileState.EMPTY; } else { var sourceRange = sourceTileGrid.getTileRangeForExtentAndZ( sourceExtent, this.sourceZ_); @@ -175,7 +176,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid, var tilesRequired = sourceRange.getWidth() * sourceRange.getHeight(); if (ol.DEBUG && !(tilesRequired < ol.RASTER_REPROJECTION_MAX_SOURCE_TILES)) { console.assert(false, 'reasonable number of tiles is required'); - this.state = ol.Tile.State.ERROR; + this.state = ol.TileState.ERROR; return; } for (var srcX = sourceRange.minX; srcX <= sourceRange.maxX; srcX++) { @@ -188,7 +189,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid, } if (this.sourceTiles_.length === 0) { - this.state = ol.Tile.State.EMPTY; + this.state = ol.TileState.EMPTY; } } }; @@ -199,7 +200,7 @@ ol.inherits(ol.reproj.Tile, ol.Tile); * @inheritDoc */ ol.reproj.Tile.prototype.disposeInternal = function() { - if (this.state == ol.Tile.State.LOADING) { + if (this.state == ol.TileState.LOADING) { this.unlistenSources_(); } ol.Tile.prototype.disposeInternal.call(this); @@ -220,7 +221,7 @@ ol.reproj.Tile.prototype.getImage = function() { ol.reproj.Tile.prototype.reproject_ = function() { var sources = []; this.sourceTiles_.forEach(function(tile, i, arr) { - if (tile && tile.getState() == ol.Tile.State.LOADED) { + if (tile && tile.getState() == ol.TileState.LOADED) { sources.push({ extent: this.sourceTileGrid_.getTileCoordExtent(tile.tileCoord), image: tile.getImage() @@ -230,7 +231,7 @@ ol.reproj.Tile.prototype.reproject_ = function() { this.sourceTiles_.length = 0; if (sources.length === 0) { - this.state = ol.Tile.State.ERROR; + this.state = ol.TileState.ERROR; } else { var z = this.wrappedTileCoord_[0]; var size = this.targetTileGrid_.getTileSize(z); @@ -246,7 +247,7 @@ ol.reproj.Tile.prototype.reproject_ = function() { targetResolution, targetExtent, this.triangulation_, sources, this.gutter_, this.renderEdges_); - this.state = ol.Tile.State.LOADED; + this.state = ol.TileState.LOADED; } this.changed(); }; @@ -256,8 +257,8 @@ ol.reproj.Tile.prototype.reproject_ = function() { * @inheritDoc */ ol.reproj.Tile.prototype.load = function() { - if (this.state == ol.Tile.State.IDLE) { - this.state = ol.Tile.State.LOADING; + if (this.state == ol.TileState.IDLE) { + this.state = ol.TileState.LOADING; this.changed(); var leftToLoad = 0; @@ -268,16 +269,16 @@ ol.reproj.Tile.prototype.load = function() { this.sourcesListenerKeys_ = []; this.sourceTiles_.forEach(function(tile, i, arr) { var state = tile.getState(); - if (state == ol.Tile.State.IDLE || state == ol.Tile.State.LOADING) { + if (state == ol.TileState.IDLE || state == ol.TileState.LOADING) { leftToLoad++; var sourceListenKey; sourceListenKey = ol.events.listen(tile, ol.events.EventType.CHANGE, function(e) { var state = tile.getState(); - if (state == ol.Tile.State.LOADED || - state == ol.Tile.State.ERROR || - state == ol.Tile.State.EMPTY) { + if (state == ol.TileState.LOADED || + state == ol.TileState.ERROR || + state == ol.TileState.EMPTY) { ol.events.unlistenByKey(sourceListenKey); leftToLoad--; ol.DEBUG && console.assert(leftToLoad >= 0, @@ -294,7 +295,7 @@ ol.reproj.Tile.prototype.load = function() { this.sourceTiles_.forEach(function(tile, i, arr) { var state = tile.getState(); - if (state == ol.Tile.State.IDLE) { + if (state == ol.TileState.IDLE) { tile.load(); } }); diff --git a/src/ol/source/tile.js b/src/ol/source/tile.js index 8211d28cfd..5567d6162b 100644 --- a/src/ol/source/tile.js +++ b/src/ol/source/tile.js @@ -1,8 +1,8 @@ goog.provide('ol.source.Tile'); goog.require('ol'); -goog.require('ol.Tile'); goog.require('ol.TileCache'); +goog.require('ol.TileState'); goog.require('ol.events.Event'); goog.require('ol.proj'); goog.require('ol.size'); @@ -117,7 +117,7 @@ ol.source.Tile.prototype.forEachLoadedTile = function(projection, z, tileRange, loaded = false; if (tileCache.containsKey(tileCoordKey)) { tile = /** @type {!ol.Tile} */ (tileCache.get(tileCoordKey)); - loaded = tile.getState() === ol.Tile.State.LOADED; + loaded = tile.getState() === ol.TileState.LOADED; if (loaded) { loaded = (callback(tile) !== false); } diff --git a/src/ol/source/tiledebug.js b/src/ol/source/tiledebug.js index 108461c63e..a62d962da0 100644 --- a/src/ol/source/tiledebug.js +++ b/src/ol/source/tiledebug.js @@ -2,6 +2,7 @@ goog.provide('ol.source.TileDebug'); goog.require('ol'); goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.dom'); goog.require('ol.size'); goog.require('ol.source.Tile'); @@ -63,7 +64,7 @@ ol.source.TileDebug.prototype.getTile = function(z, x, y) { */ ol.source.TileDebug.Tile_ = function(tileCoord, tileSize, text) { - ol.Tile.call(this, tileCoord, ol.Tile.State.LOADED); + ol.Tile.call(this, tileCoord, ol.TileState.LOADED); /** * @private diff --git a/src/ol/source/tileimage.js b/src/ol/source/tileimage.js index dc0912bfa2..4eaa6b3ee9 100644 --- a/src/ol/source/tileimage.js +++ b/src/ol/source/tileimage.js @@ -2,8 +2,8 @@ goog.provide('ol.source.TileImage'); goog.require('ol'); goog.require('ol.ImageTile'); -goog.require('ol.Tile'); goog.require('ol.TileCache'); +goog.require('ol.TileState'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.proj'); @@ -51,7 +51,7 @@ ol.source.TileImage = function(options) { /** * @protected - * @type {function(new: ol.ImageTile, ol.TileCoord, ol.Tile.State, string, + * @type {function(new: ol.ImageTile, ol.TileCoord, ol.TileState, string, * ?string, ol.TileLoadFunctionType)} */ this.tileClass = options.tileClass !== undefined ? @@ -219,7 +219,7 @@ ol.source.TileImage.prototype.createTile_ = function(z, x, y, pixelRatio, projec this.tileUrlFunction(urlTileCoord, pixelRatio, projection) : undefined; var tile = new this.tileClass( tileCoord, - tileUrl !== undefined ? ol.Tile.State.IDLE : ol.Tile.State.EMPTY, + tileUrl !== undefined ? ol.TileState.IDLE : ol.TileState.EMPTY, tileUrl !== undefined ? tileUrl : '', this.crossOrigin, this.tileLoadFunction); @@ -305,7 +305,7 @@ ol.source.TileImage.prototype.getTileInternal = function(z, x, y, pixelRatio, pr tile = this.createTile_(z, x, y, pixelRatio, projection, key); //make the new tile the head of the list, - if (interimTile.getState() == ol.Tile.State.IDLE) { + if (interimTile.getState() == ol.TileState.IDLE) { //the old tile hasn't begun loading yet, and is now outdated, so we can simply discard it tile.interimTile = interimTile.interimTile; } else { diff --git a/src/ol/source/tileutfgrid.js b/src/ol/source/tileutfgrid.js index 1634578711..2007ebc0e8 100644 --- a/src/ol/source/tileutfgrid.js +++ b/src/ol/source/tileutfgrid.js @@ -3,6 +3,7 @@ goog.provide('ol.source.TileUTFGrid'); goog.require('ol'); goog.require('ol.Attribution'); goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.TileUrlFunction'); goog.require('ol.asserts'); goog.require('ol.events'); @@ -236,7 +237,7 @@ ol.source.TileUTFGrid.prototype.getTile = function(z, x, y, pixelRatio, projecti var tileUrl = this.tileUrlFunction_(urlTileCoord, pixelRatio, projection); var tile = new ol.source.TileUTFGrid.Tile_( tileCoord, - tileUrl !== undefined ? ol.Tile.State.IDLE : ol.Tile.State.EMPTY, + tileUrl !== undefined ? ol.TileState.IDLE : ol.TileState.EMPTY, tileUrl !== undefined ? tileUrl : '', this.tileGrid.getTileCoordExtent(tileCoord), this.preemptive_, @@ -262,7 +263,7 @@ ol.source.TileUTFGrid.prototype.useTile = function(z, x, y) { * @constructor * @extends {ol.Tile} * @param {ol.TileCoord} tileCoord Tile coordinate. - * @param {ol.Tile.State} state State. + * @param {ol.TileState} state State. * @param {string} src Image source URI. * @param {ol.Extent} extent Extent of the tile. * @param {boolean} preemptive Load the tile when visible (before it's needed). @@ -382,7 +383,7 @@ ol.source.TileUTFGrid.Tile_.prototype.getData = function(coordinate) { * @template T */ ol.source.TileUTFGrid.Tile_.prototype.forDataAtCoordinate = function(coordinate, callback, opt_this, opt_request) { - if (this.state == ol.Tile.State.IDLE && opt_request === true) { + if (this.state == ol.TileState.IDLE && opt_request === true) { ol.events.listenOnce(this, ol.events.EventType.CHANGE, function(e) { callback.call(opt_this, this.getData(coordinate)); }, this); @@ -411,7 +412,7 @@ ol.source.TileUTFGrid.Tile_.prototype.getKey = function() { * @private */ ol.source.TileUTFGrid.Tile_.prototype.handleError_ = function() { - this.state = ol.Tile.State.ERROR; + this.state = ol.TileState.ERROR; this.changed(); }; @@ -425,7 +426,7 @@ ol.source.TileUTFGrid.Tile_.prototype.handleLoad_ = function(json) { this.keys_ = json.keys; this.data_ = json.data; - this.state = ol.Tile.State.EMPTY; + this.state = ol.TileState.EMPTY; this.changed(); }; @@ -434,8 +435,8 @@ ol.source.TileUTFGrid.Tile_.prototype.handleLoad_ = function(json) { * @private */ ol.source.TileUTFGrid.Tile_.prototype.loadInternal_ = function() { - if (this.state == ol.Tile.State.IDLE) { - this.state = ol.Tile.State.LOADING; + if (this.state == ol.TileState.IDLE) { + this.state = ol.TileState.LOADING; if (this.jsonp_) { ol.net.jsonp(this.src_, this.handleLoad_.bind(this), this.handleError_.bind(this)); diff --git a/src/ol/source/urltile.js b/src/ol/source/urltile.js index 11c66bed3b..d364d676fe 100644 --- a/src/ol/source/urltile.js +++ b/src/ol/source/urltile.js @@ -1,7 +1,7 @@ goog.provide('ol.source.UrlTile'); goog.require('ol'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.TileUrlFunction'); goog.require('ol.source.Tile'); @@ -109,15 +109,15 @@ ol.source.UrlTile.prototype.getUrls = function() { ol.source.UrlTile.prototype.handleTileChange = function(event) { var tile = /** @type {ol.Tile} */ (event.target); switch (tile.getState()) { - case ol.Tile.State.LOADING: + case ol.TileState.LOADING: this.dispatchEvent( new ol.source.Tile.Event(ol.source.Tile.EventType.TILELOADSTART, tile)); break; - case ol.Tile.State.LOADED: + case ol.TileState.LOADED: this.dispatchEvent( new ol.source.Tile.Event(ol.source.Tile.EventType.TILELOADEND, tile)); break; - case ol.Tile.State.ERROR: + case ol.TileState.ERROR: this.dispatchEvent( new ol.source.Tile.Event(ol.source.Tile.EventType.TILELOADERROR, tile)); break; diff --git a/src/ol/source/vectortile.js b/src/ol/source/vectortile.js index 239698443e..007b75dc86 100644 --- a/src/ol/source/vectortile.js +++ b/src/ol/source/vectortile.js @@ -1,7 +1,7 @@ goog.provide('ol.source.VectorTile'); goog.require('ol'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.VectorTile'); goog.require('ol.events'); goog.require('ol.events.EventType'); @@ -59,7 +59,7 @@ ol.source.VectorTile = function(options) { /** * @protected - * @type {function(new: ol.VectorTile, ol.TileCoord, ol.Tile.State, string, + * @type {function(new: ol.VectorTile, ol.TileCoord, ol.TileState, string, * ol.format.Feature, ol.TileLoadFunctionType)} */ this.tileClass = options.tileClass ? options.tileClass : ol.VectorTile; @@ -91,7 +91,7 @@ ol.source.VectorTile.prototype.getTile = function(z, x, y, pixelRatio, projectio this.tileUrlFunction(urlTileCoord, pixelRatio, projection) : undefined; var tile = new this.tileClass( tileCoord, - tileUrl !== undefined ? ol.Tile.State.IDLE : ol.Tile.State.EMPTY, + tileUrl !== undefined ? ol.TileState.IDLE : ol.TileState.EMPTY, tileUrl !== undefined ? tileUrl : '', this.format_, this.tileLoadFunction); ol.events.listen(tile, ol.events.EventType.CHANGE, diff --git a/src/ol/source/zoomify.js b/src/ol/source/zoomify.js index b5f62ea3f8..c39253a7e3 100644 --- a/src/ol/source/zoomify.js +++ b/src/ol/source/zoomify.js @@ -2,7 +2,7 @@ goog.provide('ol.source.Zoomify'); goog.require('ol'); goog.require('ol.ImageTile'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.asserts'); goog.require('ol.dom'); goog.require('ol.extent'); @@ -127,7 +127,7 @@ ol.inherits(ol.source.Zoomify, ol.source.TileImage); * @constructor * @extends {ol.ImageTile} * @param {ol.TileCoord} tileCoord Tile coordinate. - * @param {ol.Tile.State} state State. + * @param {ol.TileState} state State. * @param {string} src Image source URI. * @param {?string} crossOrigin Cross origin. * @param {ol.TileLoadFunctionType} tileLoadFunction Tile load function. @@ -157,7 +157,7 @@ ol.source.Zoomify.Tile_.prototype.getImage = function() { } var tileSize = ol.DEFAULT_TILE_SIZE; var image = ol.ImageTile.prototype.getImage.call(this); - if (this.state == ol.Tile.State.LOADED) { + if (this.state == ol.TileState.LOADED) { if (image.width == tileSize && image.height == tileSize) { this.zoomifyImage_ = image; return image; diff --git a/src/ol/tile.js b/src/ol/tile.js index d8ebd11770..33960638fd 100644 --- a/src/ol/tile.js +++ b/src/ol/tile.js @@ -1,6 +1,7 @@ goog.provide('ol.Tile'); goog.require('ol'); +goog.require('ol.TileState'); goog.require('ol.events.EventTarget'); goog.require('ol.events.EventType'); @@ -12,7 +13,7 @@ goog.require('ol.events.EventType'); * @constructor * @extends {ol.events.EventTarget} * @param {ol.TileCoord} tileCoord Tile coordinate. - * @param {ol.Tile.State} state State. + * @param {ol.TileState} state State. */ ol.Tile = function(tileCoord, state) { @@ -25,7 +26,7 @@ ol.Tile = function(tileCoord, state) { /** * @protected - * @type {ol.Tile.State} + * @type {ol.TileState} */ this.state = state; @@ -90,7 +91,7 @@ ol.Tile.prototype.getInterimTile = function() { // of the list (all those tiles correspond to older requests and will be // cleaned up by refreshInterimChain) do { - if (tile.getState() == ol.Tile.State.LOADED) { + if (tile.getState() == ol.TileState.LOADED) { return tile; } tile = tile.interimTile; @@ -113,17 +114,17 @@ ol.Tile.prototype.refreshInterimChain = function() { var prev = this; do { - if (tile.getState() == ol.Tile.State.LOADED) { + if (tile.getState() == ol.TileState.LOADED) { //we have a loaded tile, we can discard the rest of the list //we would could abort any LOADING tile request //older than this tile (i.e. any LOADING tile following this entry in the chain) tile.interimTile = null; break; - } else if (tile.getState() == ol.Tile.State.LOADING) { + } else if (tile.getState() == ol.TileState.LOADING) { //keep this LOADING tile any loaded tiles later in the chain are //older than this tile, so we're still interested in the request prev = tile; - } else if (tile.getState() == ol.Tile.State.IDLE) { + } else if (tile.getState() == ol.TileState.IDLE) { //the head of the list is the most current tile, we don't need //to start any other requests for this chain prev.interimTile = tile.interimTile; @@ -145,7 +146,7 @@ ol.Tile.prototype.getTileCoord = function() { /** - * @return {ol.Tile.State} State. + * @return {ol.TileState} State. */ ol.Tile.prototype.getState = function() { return this.state; @@ -160,16 +161,3 @@ ol.Tile.prototype.getState = function() { * @api */ ol.Tile.prototype.load = function() {}; - - -/** - * @enum {number} - */ -ol.Tile.State = { - IDLE: 0, - LOADING: 1, - LOADED: 2, - ERROR: 3, - EMPTY: 4, - ABORT: 5 -}; diff --git a/src/ol/tilequeue.js b/src/ol/tilequeue.js index 4eaab5466c..fed495ed46 100644 --- a/src/ol/tilequeue.js +++ b/src/ol/tilequeue.js @@ -1,7 +1,7 @@ goog.provide('ol.TileQueue'); goog.require('ol'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.structs.PriorityQueue'); @@ -86,8 +86,8 @@ ol.TileQueue.prototype.getTilesLoading = function() { ol.TileQueue.prototype.handleTileChange = function(event) { var tile = /** @type {ol.Tile} */ (event.target); var state = tile.getState(); - if (state === ol.Tile.State.LOADED || state === ol.Tile.State.ERROR || - state === ol.Tile.State.EMPTY || state === ol.Tile.State.ABORT) { + if (state === ol.TileState.LOADED || state === ol.TileState.ERROR || + state === ol.TileState.EMPTY || state === ol.TileState.ABORT) { ol.events.unlisten(tile, ol.events.EventType.CHANGE, this.handleTileChange, this); var tileKey = tile.getKey(); @@ -112,7 +112,7 @@ ol.TileQueue.prototype.loadMoreTiles = function(maxTotalLoading, maxNewLoads) { this.getCount() > 0) { tile = /** @type {ol.Tile} */ (this.dequeue()[0]); tileKey = tile.getKey(); - if (tile.getState() === ol.Tile.State.IDLE && !(tileKey in this.tilesLoadingKeys_)) { + if (tile.getState() === ol.TileState.IDLE && !(tileKey in this.tilesLoadingKeys_)) { this.tilesLoadingKeys_[tileKey] = true; ++this.tilesLoading_; ++newLoads; diff --git a/src/ol/tilestate.js b/src/ol/tilestate.js new file mode 100644 index 0000000000..45854d692e --- /dev/null +++ b/src/ol/tilestate.js @@ -0,0 +1,13 @@ +goog.provide('ol.TileState'); + +/** + * @enum {number} + */ +ol.TileState = { + IDLE: 0, + LOADING: 1, + LOADED: 2, + ERROR: 3, + EMPTY: 4, + ABORT: 5 +}; diff --git a/src/ol/vectortile.js b/src/ol/vectortile.js index 66ce5df006..b32e339af6 100644 --- a/src/ol/vectortile.js +++ b/src/ol/vectortile.js @@ -2,6 +2,7 @@ goog.provide('ol.VectorTile'); goog.require('ol'); goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.dom'); goog.require('ol.featureloader'); @@ -10,7 +11,7 @@ goog.require('ol.featureloader'); * @constructor * @extends {ol.Tile} * @param {ol.TileCoord} tileCoord Tile coordinate. - * @param {ol.Tile.State} state State. + * @param {ol.TileState} state State. * @param {string} src Data source url. * @param {ol.format.Feature} format Feature format. * @param {ol.TileLoadFunctionType} tileLoadFunction Tile load function. @@ -141,8 +142,8 @@ ol.VectorTile.prototype.getProjection = function() { * Load the tile. */ ol.VectorTile.prototype.load = function() { - if (this.state == ol.Tile.State.IDLE) { - this.setState(ol.Tile.State.LOADING); + if (this.state == ol.TileState.IDLE) { + this.setState(ol.TileState.LOADING); this.tileLoadFunction_(this, this.url_); this.loader_(null, NaN, null); } @@ -164,7 +165,7 @@ ol.VectorTile.prototype.onLoad_ = function(features, dataProjection) { * Handler for tile load errors. */ ol.VectorTile.prototype.onError_ = function() { - this.setState(ol.Tile.State.ERROR); + this.setState(ol.TileState.ERROR); }; @@ -174,7 +175,7 @@ ol.VectorTile.prototype.onError_ = function() { */ ol.VectorTile.prototype.setFeatures = function(features) { this.features_ = features; - this.setState(ol.Tile.State.LOADED); + this.setState(ol.TileState.LOADED); }; @@ -189,7 +190,7 @@ ol.VectorTile.prototype.setProjection = function(projection) { /** - * @param {ol.Tile.State} tileState Tile state. + * @param {ol.TileState} tileState Tile state. */ ol.VectorTile.prototype.setState = function(tileState) { this.state = tileState; diff --git a/test/spec/ol/imagetile.test.js b/test/spec/ol/imagetile.test.js index 3986c7c4ff..1a73392c50 100644 --- a/test/spec/ol/imagetile.test.js +++ b/test/spec/ol/imagetile.test.js @@ -1,7 +1,7 @@ goog.provide('ol.test.ImageTile'); goog.require('ol.ImageTile'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.source.Image'); @@ -13,7 +13,7 @@ describe('ol.ImageTile', function() { it('can load idle tile', function(done) { var tileCoord = [0, 0, 0]; - var state = ol.Tile.State.IDLE; + var state = ol.TileState.IDLE; var src = 'spec/ol/data/osm-0-0-0.png'; var tileLoadFunction = ol.source.Image.defaultImageLoadFunction; var tile = new ol.ImageTile(tileCoord, state, src, null, tileLoadFunction); @@ -22,10 +22,10 @@ describe('ol.ImageTile', function() { ol.events.listen(tile, ol.events.EventType.CHANGE, function(event) { var state = tile.getState(); - if (previousState == ol.Tile.State.IDLE) { - expect(state).to.be(ol.Tile.State.LOADING); - } else if (previousState == ol.Tile.State.LOADING) { - expect(state).to.be(ol.Tile.State.LOADED); + if (previousState == ol.TileState.IDLE) { + expect(state).to.be(ol.TileState.LOADING); + } else if (previousState == ol.TileState.LOADING) { + expect(state).to.be(ol.TileState.LOADED); done(); } else { expect().fail(); @@ -38,7 +38,7 @@ describe('ol.ImageTile', function() { it('can load error tile', function(done) { var tileCoord = [0, 0, 0]; - var state = ol.Tile.State.ERROR; + var state = ol.TileState.ERROR; var src = 'spec/ol/data/osm-0-0-0.png'; var tileLoadFunction = ol.source.Image.defaultImageLoadFunction; var tile = new ol.ImageTile(tileCoord, state, src, null, tileLoadFunction); @@ -47,10 +47,10 @@ describe('ol.ImageTile', function() { ol.events.listen(tile, ol.events.EventType.CHANGE, function(event) { var state = tile.getState(); - if (previousState == ol.Tile.State.ERROR) { - expect(state).to.be(ol.Tile.State.LOADING); - } else if (previousState == ol.Tile.State.LOADING) { - expect(state).to.be(ol.Tile.State.LOADED); + if (previousState == ol.TileState.ERROR) { + expect(state).to.be(ol.TileState.LOADING); + } else if (previousState == ol.TileState.LOADING) { + expect(state).to.be(ol.TileState.LOADED); done(); } else { expect().fail(); diff --git a/test/spec/ol/source/tile.test.js b/test/spec/ol/source/tile.test.js index 845b5a7268..0eaa0d6fd9 100644 --- a/test/spec/ol/source/tile.test.js +++ b/test/spec/ol/source/tile.test.js @@ -248,7 +248,7 @@ describe('ol.source.Tile', function() { * * @constructor * @extends {ol.source.Tile} - * @param {Object.} tileStates Lookup of tile key to + * @param {Object.} tileStates Lookup of tile key to * tile state. */ ol.test.source.TileMock = function(tileStates) { diff --git a/test/spec/ol/tile.test.js b/test/spec/ol/tile.test.js index af3495f14b..2a8a40314b 100644 --- a/test/spec/ol/tile.test.js +++ b/test/spec/ol/tile.test.js @@ -1,13 +1,13 @@ goog.provide('ol.test.Tile'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); describe('ol.Tile', function() { describe('interimChain', function() { var head, renderTile; beforeEach(function() { var tileCoord = [0, 0, 0]; - head = new ol.ImageTile(tileCoord, ol.Tile.State.IDLE); + head = new ol.ImageTile(tileCoord, ol.TileState.IDLE); ol.getUid(head); var addToChain = function(tile, state) { @@ -16,15 +16,15 @@ describe('ol.Tile', function() { tile.interimTile = next; return next; }; - var tail = addToChain(head, ol.Tile.State.IDLE); //discard, deprecated by head - tail = addToChain(tail, ol.Tile.State.LOADING); //keep, request already going - tail = addToChain(tail, ol.Tile.State.IDLE); //discard, deprecated by head - tail = addToChain(tail, ol.Tile.State.LOADED); //keep, use for rendering + var tail = addToChain(head, ol.TileState.IDLE); //discard, deprecated by head + tail = addToChain(tail, ol.TileState.LOADING); //keep, request already going + tail = addToChain(tail, ol.TileState.IDLE); //discard, deprecated by head + tail = addToChain(tail, ol.TileState.LOADED); //keep, use for rendering renderTile = tail; //store this tile for later tests - tail = addToChain(tail, ol.Tile.State.IDLE); //rest of list outdated by tile above - tail = addToChain(tail, ol.Tile.State.LOADED); - tail = addToChain(tail, ol.Tile.State.LOADING); - tail = addToChain(tail, ol.Tile.State.LOADED); + tail = addToChain(tail, ol.TileState.IDLE); //rest of list outdated by tile above + tail = addToChain(tail, ol.TileState.LOADED); + tail = addToChain(tail, ol.TileState.LOADING); + tail = addToChain(tail, ol.TileState.LOADED); }); diff --git a/test_rendering/spec/ol/reproj/tile.test.js b/test_rendering/spec/ol/reproj/tile.test.js index cae2c4abd4..cce2b29035 100644 --- a/test_rendering/spec/ol/reproj/tile.test.js +++ b/test_rendering/spec/ol/reproj/tile.test.js @@ -1,6 +1,6 @@ goog.provide('ol.test.rendering.reproj.Tile'); -goog.require('ol.Tile'); +goog.require('ol.TileState'); goog.require('ol.events'); goog.require('ol.proj'); goog.require('ol.reproj.Tile'); @@ -24,9 +24,9 @@ describe('ol.rendering.reproj.Tile', function() { tilesRequested++; return source.getTile(z, x, y, pixelRatio, sourceProjection); }); - if (tile.getState() == ol.Tile.State.IDLE) { + if (tile.getState() == ol.TileState.IDLE) { ol.events.listen(tile, 'change', function(e) { - if (tile.getState() == ol.Tile.State.LOADED) { + if (tile.getState() == ol.TileState.LOADED) { expect(tilesRequested).to.be(expectedRequests); resembleCanvas(tile.getImage(), expectedUrl, 7.5, done); }