Move State to ol.Tile

This commit is contained in:
Tim Schaub
2016-08-11 22:58:32 -06:00
parent ef468b3b06
commit 9e4d80b459
22 changed files with 126 additions and 131 deletions

View File

@@ -4190,7 +4190,7 @@ olx.source.TileUTFGridOptions.prototype.url;
* reprojectionErrorThreshold: (number|undefined),
* state: (ol.source.State|undefined),
* tileClass: (function(new: ol.ImageTile, ol.TileCoord,
* ol.TileState, string, ?string,
* ol.Tile.State, string, ?string,
* ol.TileLoadFunctionType)|undefined),
* tileGrid: (ol.tilegrid.TileGrid|undefined),
* tileLoadFunction: (ol.TileLoadFunctionType|undefined),
@@ -4275,7 +4275,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.TileState, string, ?string,
* ol.Tile.State, string, ?string,
* ol.TileLoadFunctionType)|undefined}
* @api
*/
@@ -4359,7 +4359,7 @@ olx.source.TileImageOptions.prototype.wrapX;
* projection: ol.ProjectionLike,
* state: (ol.source.State|undefined),
* tileClass: (function(new: ol.VectorTile, ol.TileCoord,
* ol.TileState, string, ol.format.Feature,
* ol.Tile.State, string, ol.format.Feature,
* ol.TileLoadFunctionType)|undefined),
* tileGrid: (ol.tilegrid.TileGrid|undefined),
* tileLoadFunction: (ol.TileLoadFunctionType|undefined),
@@ -4424,7 +4424,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.TileState, string, ol.format.Feature,
* ol.Tile.State, string, ol.format.Feature,
* ol.TileLoadFunctionType)|undefined}
* @api
*/
@@ -5922,7 +5922,7 @@ olx.source.VectorOptions.prototype.wrapX;
* tileLoadFunction: (ol.TileLoadFunctionType|undefined),
* urls: (Array.<string>|undefined),
* tileClass: (function(new: ol.ImageTile, ol.TileCoord,
* ol.TileState, string, ?string,
* ol.Tile.State, string, ?string,
* ol.TileLoadFunctionType)|undefined),
* wrapX: (boolean|undefined)}}
*/
@@ -6017,7 +6017,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.TileState, string, ?string,
* ol.Tile.State, string, ?string,
* ol.TileLoadFunctionType)|undefined}
* @api
*/

View File

@@ -1,6 +1,6 @@
goog.provide('ol.featureloader');
goog.require('ol.TileState');
goog.require('ol.Tile');
goog.require('ol.format.FormatType');
goog.require('ol.xml');
@@ -93,7 +93,7 @@ ol.featureloader.tile = function(url, format) {
* @this {ol.VectorTile}
*/
function() {
this.setState(ol.TileState.ERROR);
this.setState(ol.Tile.State.ERROR);
});
};

View File

@@ -1,7 +1,6 @@
goog.provide('ol.ImageTile');
goog.require('ol.Tile');
goog.require('ol.TileState');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.obj');
@@ -11,7 +10,7 @@ goog.require('ol.obj');
* @constructor
* @extends {ol.Tile}
* @param {ol.TileCoord} tileCoord Tile coordinate.
* @param {ol.TileState} state State.
* @param {ol.Tile.State} state State.
* @param {string} src Image source URI.
* @param {?string} crossOrigin Cross origin.
* @param {ol.TileLoadFunctionType} tileLoadFunction Tile load function.
@@ -63,13 +62,13 @@ ol.inherits(ol.ImageTile, ol.Tile);
* @inheritDoc
*/
ol.ImageTile.prototype.disposeInternal = function() {
if (this.state == ol.TileState.LOADING) {
if (this.state == ol.Tile.State.LOADING) {
this.unlistenImage_();
}
if (this.interimTile) {
this.interimTile.dispose();
}
this.state = ol.TileState.ABORT;
this.state = ol.Tile.State.ABORT;
this.changed();
ol.Tile.prototype.disposeInternal.call(this);
};
@@ -113,7 +112,7 @@ ol.ImageTile.prototype.getKey = function() {
* @private
*/
ol.ImageTile.prototype.handleImageError_ = function() {
this.state = ol.TileState.ERROR;
this.state = ol.Tile.State.ERROR;
this.unlistenImage_();
this.changed();
};
@@ -126,9 +125,9 @@ ol.ImageTile.prototype.handleImageError_ = function() {
*/
ol.ImageTile.prototype.handleImageLoad_ = function() {
if (this.image_.naturalWidth && this.image_.naturalHeight) {
this.state = ol.TileState.LOADED;
this.state = ol.Tile.State.LOADED;
} else {
this.state = ol.TileState.EMPTY;
this.state = ol.Tile.State.EMPTY;
}
this.unlistenImage_();
this.changed();
@@ -142,8 +141,8 @@ ol.ImageTile.prototype.handleImageLoad_ = function() {
* @api
*/
ol.ImageTile.prototype.load = function() {
if (this.state == ol.TileState.IDLE || this.state == ol.TileState.ERROR) {
this.state = ol.TileState.LOADING;
if (this.state == ol.Tile.State.IDLE || this.state == ol.Tile.State.ERROR) {
this.state = ol.Tile.State.LOADING;
this.changed();
goog.DEBUG && console.assert(!this.imageListenerKeys_,
'this.imageListenerKeys_ should be null');

View File

@@ -173,7 +173,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.TileState.ERROR` state is set. Default is `100`.
* `ol.Tile.State.ERROR` state is set. Default is `100`.
*/
ol.RASTER_REPROJECTION_MAX_SOURCE_TILES = 100;

View File

@@ -4,7 +4,7 @@ goog.provide('ol.renderer.canvas.TileLayer');
goog.require('ol.transform');
goog.require('ol.TileRange');
goog.require('ol.TileState');
goog.require('ol.Tile');
goog.require('ol.array');
goog.require('ol.dom');
goog.require('ol.extent');
@@ -131,9 +131,9 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(
*/
function(tile) {
var tileState = tile.getState();
return tileState == ol.TileState.LOADED ||
tileState == ol.TileState.EMPTY ||
tileState == ol.TileState.ERROR && !useInterimTilesOnError;
return tileState == ol.Tile.State.LOADED ||
tileState == ol.Tile.State.EMPTY ||
tileState == ol.Tile.State.ERROR && !useInterimTilesOnError;
});
for (x = tileRange.minX; x <= tileRange.maxX; ++x) {
for (y = tileRange.minY; y <= tileRange.maxY; ++y) {
@@ -168,7 +168,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function(
tilesToDraw = tilesToDrawByZ[currentZ];
for (tileCoordKey in tilesToDraw) {
tile = tilesToDraw[tileCoordKey];
if (tile.getState() == ol.TileState.LOADED) {
if (tile.getState() == ol.Tile.State.LOADED) {
renderables.push(tile);
}
}

View File

@@ -6,7 +6,7 @@ goog.provide('ol.renderer.dom.TileLayer');
goog.require('ol.transform');
goog.require('ol');
goog.require('ol.TileRange');
goog.require('ol.TileState');
goog.require('ol.Tile');
goog.require('ol.ViewHint');
goog.require('ol.array');
goog.require('ol.dom');
@@ -120,18 +120,18 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame = function(frameState, layerSta
for (y = tileRange.minY; y <= tileRange.maxY; ++y) {
tile = tileSource.getTile(z, x, y, pixelRatio, projection);
tileState = tile.getState();
drawable = tileState == ol.TileState.LOADED ||
tileState == ol.TileState.EMPTY ||
tileState == ol.TileState.ERROR && !useInterimTilesOnError;
drawable = tileState == ol.Tile.State.LOADED ||
tileState == ol.Tile.State.EMPTY ||
tileState == ol.Tile.State.ERROR && !useInterimTilesOnError;
if (!drawable && tile.interimTile) {
tile = tile.interimTile;
}
tileState = tile.getState();
if (tileState == ol.TileState.LOADED) {
if (tileState == ol.Tile.State.LOADED) {
tilesToDrawByZ[z][tile.tileCoord.toString()] = tile;
continue;
} else if (tileState == ol.TileState.EMPTY ||
(tileState == ol.TileState.ERROR &&
} else if (tileState == ol.Tile.State.EMPTY ||
(tileState == ol.Tile.State.ERROR &&
!useInterimTilesOnError)) {
continue;
}

View File

@@ -6,7 +6,7 @@ goog.require('ol');
goog.require('ol.functions');
goog.require('ol.ImageState');
goog.require('ol.Observable');
goog.require('ol.TileState');
goog.require('ol.Tile');
goog.require('ol.transform');
goog.require('ol.source.State');
@@ -306,7 +306,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.TileState.IDLE) {
if (tile.getState() == ol.Tile.State.IDLE) {
wantedTiles[tile.getKey()] = true;
if (!tileQueue.isKeyQueued(tile.getKey())) {
tileQueue.enqueue([tile, tileSourceKey,

View File

@@ -5,7 +5,7 @@ goog.provide('ol.renderer.webgl.TileLayer');
goog.require('ol.transform');
goog.require('ol.TileRange');
goog.require('ol.TileState');
goog.require('ol.Tile');
goog.require('ol.array');
goog.require('ol.extent');
goog.require('ol.math');
@@ -248,20 +248,20 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerS
}
}
tileState = tile.getState();
drawable = tileState == ol.TileState.LOADED ||
tileState == ol.TileState.EMPTY ||
tileState == ol.TileState.ERROR && !useInterimTilesOnError;
drawable = tileState == ol.Tile.State.LOADED ||
tileState == ol.Tile.State.EMPTY ||
tileState == ol.Tile.State.ERROR && !useInterimTilesOnError;
if (!drawable && tile.interimTile) {
tile = tile.interimTile;
}
tileState = tile.getState();
if (tileState == ol.TileState.LOADED) {
if (tileState == ol.Tile.State.LOADED) {
if (mapRenderer.isTileTextureLoaded(tile)) {
tilesToDrawByZ[z][tile.tileCoord.toString()] = tile;
continue;
}
} else if (tileState == ol.TileState.EMPTY ||
(tileState == ol.TileState.ERROR &&
} else if (tileState == ol.Tile.State.EMPTY ||
(tileState == ol.Tile.State.ERROR &&
!useInterimTilesOnError)) {
continue;
}
@@ -328,7 +328,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerS
* @param {ol.Tile} tile Tile.
*/
function(tile) {
if (tile.getState() == ol.TileState.LOADED &&
if (tile.getState() == ol.Tile.State.LOADED &&
!mapRenderer.isTileTextureLoaded(tile) &&
!tileTextureQueue.isKeyQueued(tile.getKey())) {
tileTextureQueue.enqueue([

View File

@@ -1,7 +1,6 @@
goog.provide('ol.reproj.Tile');
goog.require('ol.Tile');
goog.require('ol.TileState');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.extent');
@@ -36,7 +35,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid,
pixelRatio, gutter, getTileFunction,
opt_errorThreshold,
opt_renderEdges) {
ol.Tile.call(this, tileCoord, ol.TileState.IDLE);
ol.Tile.call(this, tileCoord, ol.Tile.State.IDLE);
/**
* @private
@@ -114,7 +113,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.TileState.EMPTY;
this.state = ol.Tile.State.EMPTY;
return;
}
@@ -138,7 +137,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.TileState.EMPTY;
this.state = ol.Tile.State.EMPTY;
return;
}
@@ -155,7 +154,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid,
if (this.triangulation_.getTriangles().length === 0) {
// no valid triangles -> EMPTY
this.state = ol.TileState.EMPTY;
this.state = ol.Tile.State.EMPTY;
return;
}
@@ -174,7 +173,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid,
}
if (!ol.extent.getArea(sourceExtent)) {
this.state = ol.TileState.EMPTY;
this.state = ol.Tile.State.EMPTY;
} else {
var sourceRange = sourceTileGrid.getTileRangeForExtentAndZ(
sourceExtent, this.sourceZ_);
@@ -182,7 +181,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid,
var tilesRequired = sourceRange.getWidth() * sourceRange.getHeight();
if (goog.DEBUG && !(tilesRequired < ol.RASTER_REPROJECTION_MAX_SOURCE_TILES)) {
console.assert(false, 'reasonable number of tiles is required');
this.state = ol.TileState.ERROR;
this.state = ol.Tile.State.ERROR;
return;
}
for (var srcX = sourceRange.minX; srcX <= sourceRange.maxX; srcX++) {
@@ -195,7 +194,7 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid,
}
if (this.sourceTiles_.length === 0) {
this.state = ol.TileState.EMPTY;
this.state = ol.Tile.State.EMPTY;
}
}
};
@@ -206,7 +205,7 @@ ol.inherits(ol.reproj.Tile, ol.Tile);
* @inheritDoc
*/
ol.reproj.Tile.prototype.disposeInternal = function() {
if (this.state == ol.TileState.LOADING) {
if (this.state == ol.Tile.State.LOADING) {
this.unlistenSources_();
}
ol.Tile.prototype.disposeInternal.call(this);
@@ -241,7 +240,7 @@ ol.reproj.Tile.prototype.getImage = function(opt_context) {
ol.reproj.Tile.prototype.reproject_ = function() {
var sources = [];
this.sourceTiles_.forEach(function(tile, i, arr) {
if (tile && tile.getState() == ol.TileState.LOADED) {
if (tile && tile.getState() == ol.Tile.State.LOADED) {
sources.push({
extent: this.sourceTileGrid_.getTileCoordExtent(tile.tileCoord),
image: tile.getImage()
@@ -251,7 +250,7 @@ ol.reproj.Tile.prototype.reproject_ = function() {
this.sourceTiles_.length = 0;
if (sources.length === 0) {
this.state = ol.TileState.ERROR;
this.state = ol.Tile.State.ERROR;
} else {
var z = this.wrappedTileCoord_[0];
var size = this.targetTileGrid_.getTileSize(z);
@@ -267,7 +266,7 @@ ol.reproj.Tile.prototype.reproject_ = function() {
targetResolution, targetExtent, this.triangulation_, sources,
this.gutter_, this.renderEdges_);
this.state = ol.TileState.LOADED;
this.state = ol.Tile.State.LOADED;
}
this.changed();
};
@@ -277,8 +276,8 @@ ol.reproj.Tile.prototype.reproject_ = function() {
* @inheritDoc
*/
ol.reproj.Tile.prototype.load = function() {
if (this.state == ol.TileState.IDLE) {
this.state = ol.TileState.LOADING;
if (this.state == ol.Tile.State.IDLE) {
this.state = ol.Tile.State.LOADING;
this.changed();
var leftToLoad = 0;
@@ -289,16 +288,16 @@ ol.reproj.Tile.prototype.load = function() {
this.sourcesListenerKeys_ = [];
this.sourceTiles_.forEach(function(tile, i, arr) {
var state = tile.getState();
if (state == ol.TileState.IDLE || state == ol.TileState.LOADING) {
if (state == ol.Tile.State.IDLE || state == ol.Tile.State.LOADING) {
leftToLoad++;
var sourceListenKey;
sourceListenKey = ol.events.listen(tile, ol.events.EventType.CHANGE,
function(e) {
var state = tile.getState();
if (state == ol.TileState.LOADED ||
state == ol.TileState.ERROR ||
state == ol.TileState.EMPTY) {
if (state == ol.Tile.State.LOADED ||
state == ol.Tile.State.ERROR ||
state == ol.Tile.State.EMPTY) {
ol.events.unlistenByKey(sourceListenKey);
leftToLoad--;
goog.DEBUG && console.assert(leftToLoad >= 0,
@@ -315,7 +314,7 @@ ol.reproj.Tile.prototype.load = function() {
this.sourceTiles_.forEach(function(tile, i, arr) {
var state = tile.getState();
if (state == ol.TileState.IDLE) {
if (state == ol.Tile.State.IDLE) {
tile.load();
}
});

View File

@@ -2,8 +2,8 @@ goog.provide('ol.source.Tile');
goog.provide('ol.source.TileEvent');
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');
@@ -118,7 +118,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.TileState.LOADED;
loaded = tile.getState() === ol.Tile.State.LOADED;
if (loaded) {
loaded = (callback(tile) !== false);
}

View File

@@ -1,7 +1,6 @@
goog.provide('ol.source.TileDebug');
goog.require('ol.Tile');
goog.require('ol.TileState');
goog.require('ol.dom');
goog.require('ol.size');
goog.require('ol.source.Tile');
@@ -17,7 +16,7 @@ goog.require('ol.source.Tile');
*/
ol.DebugTile_ = function(tileCoord, tileSize, text) {
ol.Tile.call(this, tileCoord, ol.TileState.LOADED);
ol.Tile.call(this, tileCoord, ol.Tile.State.LOADED);
/**
* @private

View File

@@ -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.TileState, string,
* @type {function(new: ol.ImageTile, ol.TileCoord, ol.Tile.State, 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.TileState.IDLE : ol.TileState.EMPTY,
tileUrl !== undefined ? ol.Tile.State.IDLE : ol.Tile.State.EMPTY,
tileUrl !== undefined ? tileUrl : '',
this.crossOrigin,
this.tileLoadFunction);
@@ -303,18 +303,18 @@ ol.source.TileImage.prototype.getTileInternal = function(z, x, y, pixelRatio, pr
// cases we attempt to assign an interim tile to the new tile.
var /** @type {ol.Tile} */ interimTile = tile;
if (tile.interimTile && tile.interimTile.key == key) {
goog.DEBUG && console.assert(tile.interimTile.getState() == ol.TileState.LOADED);
goog.DEBUG && console.assert(tile.interimTile.getState() == ol.Tile.State.LOADED);
goog.DEBUG && console.assert(tile.interimTile.interimTile === null);
tile = tile.interimTile;
if (interimTile.getState() == ol.TileState.LOADED) {
if (interimTile.getState() == ol.Tile.State.LOADED) {
tile.interimTile = interimTile;
}
} else {
tile = this.createTile_(z, x, y, pixelRatio, projection, key);
if (interimTile.getState() == ol.TileState.LOADED) {
if (interimTile.getState() == ol.Tile.State.LOADED) {
tile.interimTile = interimTile;
} else if (interimTile.interimTile &&
interimTile.interimTile.getState() == ol.TileState.LOADED) {
interimTile.interimTile.getState() == ol.Tile.State.LOADED) {
tile.interimTile = interimTile.interimTile;
interimTile.interimTile = null;
}

View File

@@ -3,7 +3,6 @@ goog.provide('ol.source.TileUTFGrid');
goog.require('goog.async.nextTick');
goog.require('ol.Attribution');
goog.require('ol.Tile');
goog.require('ol.TileState');
goog.require('ol.TileUrlFunction');
goog.require('ol.events');
goog.require('ol.events.EventType');
@@ -236,7 +235,7 @@ ol.source.TileUTFGrid.prototype.getTile = function(z, x, y, pixelRatio, projecti
var tileUrl = this.tileUrlFunction_(urlTileCoord, pixelRatio, projection);
var tile = new ol.source.TileUTFGridTile_(
tileCoord,
tileUrl !== undefined ? ol.TileState.IDLE : ol.TileState.EMPTY,
tileUrl !== undefined ? ol.Tile.State.IDLE : ol.Tile.State.EMPTY,
tileUrl !== undefined ? tileUrl : '',
this.tileGrid.getTileCoordExtent(tileCoord),
this.preemptive_,
@@ -262,7 +261,7 @@ ol.source.TileUTFGrid.prototype.useTile = function(z, x, y) {
* @constructor
* @extends {ol.Tile}
* @param {ol.TileCoord} tileCoord Tile coordinate.
* @param {ol.TileState} state State.
* @param {ol.Tile.State} 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).
@@ -384,7 +383,7 @@ ol.source.TileUTFGridTile_.prototype.getData = function(coordinate) {
* @template T
*/
ol.source.TileUTFGridTile_.prototype.forDataAtCoordinate = function(coordinate, callback, opt_this, opt_request) {
if (this.state == ol.TileState.IDLE && opt_request === true) {
if (this.state == ol.Tile.State.IDLE && opt_request === true) {
ol.events.listenOnce(this, ol.events.EventType.CHANGE, function(e) {
callback.call(opt_this, this.getData(coordinate));
}, this);
@@ -413,7 +412,7 @@ ol.source.TileUTFGridTile_.prototype.getKey = function() {
* @private
*/
ol.source.TileUTFGridTile_.prototype.handleError_ = function() {
this.state = ol.TileState.ERROR;
this.state = ol.Tile.State.ERROR;
this.changed();
};
@@ -427,7 +426,7 @@ ol.source.TileUTFGridTile_.prototype.handleLoad_ = function(json) {
this.keys_ = json.keys;
this.data_ = json.data;
this.state = ol.TileState.EMPTY;
this.state = ol.Tile.State.EMPTY;
this.changed();
};
@@ -436,8 +435,8 @@ ol.source.TileUTFGridTile_.prototype.handleLoad_ = function(json) {
* @private
*/
ol.source.TileUTFGridTile_.prototype.loadInternal_ = function() {
if (this.state == ol.TileState.IDLE) {
this.state = ol.TileState.LOADING;
if (this.state == ol.Tile.State.IDLE) {
this.state = ol.Tile.State.LOADING;
if (this.jsonp_) {
ol.net.jsonp(this.src_, this.handleLoad_.bind(this),
this.handleError_.bind(this));

View File

@@ -1,6 +1,6 @@
goog.provide('ol.source.UrlTile');
goog.require('ol.TileState');
goog.require('ol.Tile');
goog.require('ol.TileUrlFunction');
goog.require('ol.source.Tile');
goog.require('ol.source.TileEvent');
@@ -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.TileState.LOADING:
case ol.Tile.State.LOADING:
this.dispatchEvent(
new ol.source.TileEvent(ol.source.TileEventType.TILELOADSTART, tile));
break;
case ol.TileState.LOADED:
case ol.Tile.State.LOADED:
this.dispatchEvent(
new ol.source.TileEvent(ol.source.TileEventType.TILELOADEND, tile));
break;
case ol.TileState.ERROR:
case ol.Tile.State.ERROR:
this.dispatchEvent(
new ol.source.TileEvent(ol.source.TileEventType.TILELOADERROR, tile));
break;

View File

@@ -1,6 +1,6 @@
goog.provide('ol.source.VectorTile');
goog.require('ol.TileState');
goog.require('ol.Tile');
goog.require('ol.VectorTile');
goog.require('ol.events');
goog.require('ol.events.EventType');
@@ -53,7 +53,7 @@ ol.source.VectorTile = function(options) {
/**
* @protected
* @type {function(new: ol.VectorTile, ol.TileCoord, ol.TileState, string,
* @type {function(new: ol.VectorTile, ol.TileCoord, ol.Tile.State, string,
* ol.format.Feature, ol.TileLoadFunctionType)}
*/
this.tileClass = options.tileClass ? options.tileClass : ol.VectorTile;
@@ -77,7 +77,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.TileState.IDLE : ol.TileState.EMPTY,
tileUrl !== undefined ? ol.Tile.State.IDLE : ol.Tile.State.EMPTY,
tileUrl !== undefined ? tileUrl : '',
this.format_, this.tileLoadFunction);
ol.events.listen(tile, ol.events.EventType.CHANGE,

View File

@@ -2,7 +2,7 @@ goog.provide('ol.source.Zoomify');
goog.require('ol');
goog.require('ol.ImageTile');
goog.require('ol.TileState');
goog.require('ol.Tile');
goog.require('ol.dom');
goog.require('ol.extent');
goog.require('ol.source.TileImage');
@@ -135,7 +135,7 @@ ol.inherits(ol.source.Zoomify, ol.source.TileImage);
* @constructor
* @extends {ol.ImageTile}
* @param {ol.TileCoord} tileCoord Tile coordinate.
* @param {ol.TileState} state State.
* @param {ol.Tile.State} state State.
* @param {string} src Image source URI.
* @param {?string} crossOrigin Cross origin.
* @param {ol.TileLoadFunctionType} tileLoadFunction Tile load function.
@@ -168,7 +168,7 @@ ol.source.ZoomifyTile_.prototype.getImage = function(opt_context) {
return this.zoomifyImageByContext_[key];
} else {
var image = ol.ImageTile.prototype.getImage.call(this, opt_context);
if (this.state == ol.TileState.LOADED) {
if (this.state == ol.Tile.State.LOADED) {
if (image.width == tileSize && image.height == tileSize) {
this.zoomifyImageByContext_[key] = image;
return image;

View File

@@ -1,23 +1,10 @@
goog.provide('ol.Tile');
goog.provide('ol.TileState');
goog.require('ol');
goog.require('ol.events.EventTarget');
goog.require('ol.events.EventType');
/**
* @enum {number}
*/
ol.TileState = {
IDLE: 0,
LOADING: 1,
LOADED: 2,
ERROR: 3,
EMPTY: 4,
ABORT: 5
};
/**
* @classdesc
* Base class for tiles.
@@ -25,7 +12,7 @@ ol.TileState = {
* @constructor
* @extends {ol.events.EventTarget}
* @param {ol.TileCoord} tileCoord Tile coordinate.
* @param {ol.TileState} state State.
* @param {ol.Tile.State} state State.
*/
ol.Tile = function(tileCoord, state) {
@@ -38,7 +25,7 @@ ol.Tile = function(tileCoord, state) {
/**
* @protected
* @type {ol.TileState}
* @type {ol.Tile.State}
*/
this.state = state;
@@ -98,7 +85,7 @@ ol.Tile.prototype.getTileCoord = function() {
/**
* @return {ol.TileState} State.
* @return {ol.Tile.State} State.
*/
ol.Tile.prototype.getState = function() {
return this.state;
@@ -113,3 +100,16 @@ 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
};

View File

@@ -1,9 +1,9 @@
goog.provide('ol.TileQueue');
goog.require('ol');
goog.require('ol.Tile');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.TileState');
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.TileState.LOADED || state === ol.TileState.ERROR ||
state === ol.TileState.EMPTY || state === ol.TileState.ABORT) {
if (state === ol.Tile.State.LOADED || state === ol.Tile.State.ERROR ||
state === ol.Tile.State.EMPTY || state === ol.Tile.State.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.TileState.IDLE && !(tileKey in this.tilesLoadingKeys_)) {
if (tile.getState() === ol.Tile.State.IDLE && !(tileKey in this.tilesLoadingKeys_)) {
this.tilesLoadingKeys_[tileKey] = true;
++this.tilesLoading_;
++newLoads;

View File

@@ -2,7 +2,6 @@ goog.provide('ol.VectorTile');
goog.require('ol');
goog.require('ol.Tile');
goog.require('ol.TileState');
goog.require('ol.dom');
@@ -10,7 +9,7 @@ goog.require('ol.dom');
* @constructor
* @extends {ol.Tile}
* @param {ol.TileCoord} tileCoord Tile coordinate.
* @param {ol.TileState} state State.
* @param {ol.Tile.State} state State.
* @param {string} src Data source url.
* @param {ol.format.Feature} format Feature format.
* @param {ol.TileLoadFunctionType} tileLoadFunction Tile load function.
@@ -142,8 +141,8 @@ ol.VectorTile.prototype.getProjection = function() {
* Load the tile.
*/
ol.VectorTile.prototype.load = function() {
if (this.state == ol.TileState.IDLE) {
this.setState(ol.TileState.LOADING);
if (this.state == ol.Tile.State.IDLE) {
this.setState(ol.Tile.State.LOADING);
this.tileLoadFunction_(this, this.url_);
this.loader_(null, NaN, null);
}
@@ -156,7 +155,7 @@ ol.VectorTile.prototype.load = function() {
*/
ol.VectorTile.prototype.setFeatures = function(features) {
this.features_ = features;
this.setState(ol.TileState.LOADED);
this.setState(ol.Tile.State.LOADED);
};
@@ -171,7 +170,7 @@ ol.VectorTile.prototype.setProjection = function(projection) {
/**
* @param {ol.TileState} tileState Tile state.
* @param {ol.Tile.State} tileState Tile state.
*/
ol.VectorTile.prototype.setState = function(tileState) {
this.state = tileState;

View File

@@ -1,10 +1,10 @@
goog.provide('ol.test.ImageTile');
goog.require('ol.ImageTile');
goog.require('ol.Tile');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.source.Image');
goog.require('ol.ImageTile');
goog.require('ol.TileState');
describe('ol.ImageTile', function() {
@@ -13,7 +13,7 @@ describe('ol.ImageTile', function() {
it('can load idle tile', function(done) {
var tileCoord = [0, 0, 0];
var state = ol.TileState.IDLE;
var state = ol.Tile.State.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.TileState.IDLE) {
expect(state).to.be(ol.TileState.LOADING);
} else if (previousState == ol.TileState.LOADING) {
expect(state).to.be(ol.TileState.LOADED);
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);
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.TileState.ERROR;
var state = ol.Tile.State.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.TileState.ERROR) {
expect(state).to.be(ol.TileState.LOADING);
} else if (previousState == ol.TileState.LOADING) {
expect(state).to.be(ol.TileState.LOADED);
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);
done();
} else {
expect().fail();

View File

@@ -248,7 +248,7 @@ describe('ol.source.Tile', function() {
*
* @constructor
* @extends {ol.source.Tile}
* @param {Object.<string, ol.TileState>} tileStates Lookup of tile key to
* @param {Object.<string, ol.Tile.State>} tileStates Lookup of tile key to
* tile state.
*/
ol.test.source.TileMock = function(tileStates) {

View File

@@ -1,6 +1,6 @@
goog.provide('ol.test.rendering.reproj.Tile');
goog.require('ol.TileState');
goog.require('ol.Tile');
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.TileState.IDLE) {
if (tile.getState() == ol.Tile.State.IDLE) {
ol.events.listen(tile, 'change', function(e) {
if (tile.getState() == ol.TileState.LOADED) {
if (tile.getState() == ol.Tile.State.LOADED) {
expect(tilesRequested).to.be(expectedRequests);
resembleCanvas(tile.getImage(), expectedUrl, 7.5, done);
}