Replace ol.Tile.isLoaded with ol.Tile.getState

This commit is contained in:
Tom Payne
2012-08-07 12:07:55 +02:00
parent 2983a2ef02
commit 1f5cda88c4
2 changed files with 20 additions and 17 deletions
+16 -15
View File
@@ -1,4 +1,5 @@
goog.provide('ol.Tile'); goog.provide('ol.Tile');
goog.provide('ol.TileState');
goog.require('goog.array'); goog.require('goog.array');
goog.require('goog.events'); goog.require('goog.events');
@@ -10,7 +11,7 @@ goog.require('ol.TileCoord');
/** /**
* @enum {number} * @enum {number}
*/ */
ol.TileLoadState = { ol.TileState = {
IDLE: 0, IDLE: 0,
LOADING: 1, LOADING: 1,
LOADED: 2, LOADED: 2,
@@ -43,9 +44,9 @@ ol.Tile = function(tileCoord, src, crossOrigin) {
/** /**
* @private * @private
* @type {ol.TileLoadState} * @type {ol.TileState}
*/ */
this.state_ = ol.TileLoadState.IDLE; this.state_ = ol.TileState.IDLE;
/** /**
* @private * @private
@@ -103,11 +104,19 @@ ol.Tile.prototype.getImage = function(opt_context) {
}; };
/**
* @return {ol.TileState} State.
*/
ol.Tile.prototype.getState = function() {
return this.state_;
};
/** /**
* @private * @private
*/ */
ol.Tile.prototype.handleImageError_ = function() { ol.Tile.prototype.handleImageError_ = function() {
this.state_ = ol.TileLoadState.ERROR; this.state_ = ol.TileState.ERROR;
this.unlistenImage_(); this.unlistenImage_();
}; };
@@ -116,25 +125,17 @@ ol.Tile.prototype.handleImageError_ = function() {
* @private * @private
*/ */
ol.Tile.prototype.handleImageLoad_ = function() { ol.Tile.prototype.handleImageLoad_ = function() {
this.state_ = ol.TileLoadState.LOADED; this.state_ = ol.TileState.LOADED;
this.unlistenImage_(); this.unlistenImage_();
this.dispatchChangeEvent(); this.dispatchChangeEvent();
}; };
/**
* @return {boolean} Is loaded.
*/
ol.Tile.prototype.isLoaded = function() {
return this.state_ == ol.TileLoadState.LOADED;
};
/** /**
*/ */
ol.Tile.prototype.load = function() { ol.Tile.prototype.load = function() {
if (this.state_ == ol.TileLoadState.IDLE) { if (this.state_ == ol.TileState.IDLE) {
this.state_ = ol.TileLoadState.LOADING; this.state_ = ol.TileState.LOADING;
goog.asserts.assert(goog.isNull(this.imageListenerKeys_)); goog.asserts.assert(goog.isNull(this.imageListenerKeys_));
this.imageListenerKeys_ = [ this.imageListenerKeys_ = [
goog.events.listenOnce(this.image_, goog.events.EventType.ERROR, goog.events.listenOnce(this.image_, goog.events.EventType.ERROR,
+4 -2
View File
@@ -16,6 +16,7 @@ goog.require('goog.webgl');
goog.require('ol.Coordinate'); goog.require('ol.Coordinate');
goog.require('ol.Size'); goog.require('ol.Size');
goog.require('ol.TileLayer'); goog.require('ol.TileLayer');
goog.require('ol.TileState');
goog.require('ol.webgl.LayerRenderer'); goog.require('ol.webgl.LayerRenderer');
goog.require('ol.webgl.shader.Fragment'); goog.require('ol.webgl.shader.Fragment');
goog.require('ol.webgl.shader.Vertex'); goog.require('ol.webgl.shader.Vertex');
@@ -334,7 +335,7 @@ ol.webgl.TileLayerRenderer.prototype.render = function() {
tileBounds.forEachTileCoord(z, function(tileCoord) { tileBounds.forEachTileCoord(z, function(tileCoord) {
var tile = tileStore.getTile(tileCoord); var tile = tileStore.getTile(tileCoord);
if (goog.isNull(tile)) { if (goog.isNull(tile)) {
} else if (tile.isLoaded()) { } else if (tile.getState() == ol.TileState.LOADED) {
tilesToDrawByZ[z][tileCoord.toString()] = tile; tilesToDrawByZ[z][tileCoord.toString()] = tile;
} else { } else {
var tileKey = goog.getUid(tile); var tileKey = goog.getUid(tile);
@@ -355,7 +356,8 @@ ol.webgl.TileLayerRenderer.prototype.render = function() {
return; return;
} }
var tile = tileStore.getTile(tileCoord); var tile = tileStore.getTile(tileCoord);
if (!goog.isNull(tile) && tile.isLoaded()) { if (!goog.isNull(tile) &&
tile.getState() == ol.TileState.LOADED) {
if (!tilesToDrawByZ[z]) { if (!tilesToDrawByZ[z]) {
tilesToDrawByZ[z] = {}; tilesToDrawByZ[z] = {};
} }