Merge pull request #1296 from twpayne/improve-type-checking
Improve type checking
This commit is contained in:
@@ -111,7 +111,8 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
|
||||
for (i = 0, ii = layersArray.length; i < ii; ++i) {
|
||||
|
||||
layer = layersArray[i];
|
||||
layerRenderer = this.getLayerRenderer(layer);
|
||||
layerRenderer =
|
||||
/** @type {ol.renderer.canvas.Layer} */ (this.getLayerRenderer(layer));
|
||||
layerState = layerStates[goog.getUid(layer)];
|
||||
if (!layerState.visible ||
|
||||
layerState.sourceState != ol.source.State.READY ||
|
||||
@@ -133,6 +134,8 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
|
||||
var dy = goog.vec.Mat4.getElement(transform, 1, 3);
|
||||
var dw = image.width * goog.vec.Mat4.getElement(transform, 0, 0);
|
||||
var dh = image.height * goog.vec.Mat4.getElement(transform, 1, 1);
|
||||
goog.asserts.assert(goog.isNumber(image.width));
|
||||
goog.asserts.assert(goog.isNumber(image.height));
|
||||
context.drawImage(image, 0, 0, image.width, image.height,
|
||||
Math.round(dx), Math.round(dy), Math.round(dw), Math.round(dh));
|
||||
} else {
|
||||
|
||||
@@ -28,7 +28,6 @@ goog.inherits(ol.renderer.dom.Layer, ol.renderer.Layer);
|
||||
|
||||
|
||||
/**
|
||||
* @protected
|
||||
* @return {!Element} Target.
|
||||
*/
|
||||
ol.renderer.dom.Layer.prototype.getTarget = function() {
|
||||
|
||||
@@ -93,7 +93,8 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) {
|
||||
var layerKey;
|
||||
for (layerKey in this.getLayerRenderers()) {
|
||||
if (!(layerKey in layerStates)) {
|
||||
layerRenderer = this.getLayerRendererByKey(layerKey);
|
||||
layerRenderer = /** @type {ol.renderer.dom.Layer} */
|
||||
(this.getLayerRendererByKey(layerKey));
|
||||
goog.dom.removeNode(layerRenderer.getTarget());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -383,6 +383,7 @@ ol.renderer.dom.TileLayerZ_.prototype.removeTilesOutsideExtent =
|
||||
function(extent, opt_tileRange) {
|
||||
var tileRange = this.tileGrid_.getTileRangeForExtentAndZ(
|
||||
extent, this.tileCoordOrigin_.z, opt_tileRange);
|
||||
/** @type {Array.<ol.Tile>} */
|
||||
var tilesToRemove = [];
|
||||
var tile, tileCoordKey;
|
||||
for (tileCoordKey in this.tiles_) {
|
||||
|
||||
@@ -129,10 +129,16 @@ ol.renderer.Layer.prototype.scheduleExpireCache =
|
||||
function(frameState, tileSource) {
|
||||
if (tileSource.canExpireCache()) {
|
||||
frameState.postRenderFunctions.push(
|
||||
goog.partial(function(tileSource, map, frameState) {
|
||||
var tileSourceKey = goog.getUid(tileSource).toString();
|
||||
tileSource.expireCache(frameState.usedTiles[tileSourceKey]);
|
||||
}, tileSource));
|
||||
goog.partial(
|
||||
/**
|
||||
* @param {ol.source.Tile} tileSource Tile source.
|
||||
* @param {ol.Map} map Map.
|
||||
* @param {ol.FrameState} frameState Frame state.
|
||||
*/
|
||||
function(tileSource, map, frameState) {
|
||||
var tileSourceKey = goog.getUid(tileSource).toString();
|
||||
tileSource.expireCache(frameState.usedTiles[tileSourceKey]);
|
||||
}, tileSource));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -114,11 +114,16 @@ ol.renderer.webgl.ImageLayer.prototype.renderFrame =
|
||||
texture = this.createTexture_(image_);
|
||||
if (!goog.isNull(this.texture)) {
|
||||
frameState.postRenderFunctions.push(
|
||||
goog.partial(function(gl, texture) {
|
||||
if (!gl.isContextLost()) {
|
||||
gl.deleteTexture(texture);
|
||||
}
|
||||
}, gl, this.texture));
|
||||
goog.partial(
|
||||
/**
|
||||
* @param {WebGLRenderingContext} gl GL.
|
||||
* @param {WebGLTexture} texture Texture.
|
||||
*/
|
||||
function(gl, texture) {
|
||||
if (!gl.isContextLost()) {
|
||||
gl.deleteTexture(texture);
|
||||
}
|
||||
}, gl, this.texture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,12 +124,18 @@ ol.renderer.webgl.Layer.prototype.bindFramebuffer =
|
||||
this.framebufferDimension != framebufferDimension) {
|
||||
|
||||
frameState.postRenderFunctions.push(
|
||||
goog.partial(function(gl, framebuffer, texture) {
|
||||
if (!gl.isContextLost()) {
|
||||
gl.deleteFramebuffer(framebuffer);
|
||||
gl.deleteTexture(texture);
|
||||
}
|
||||
}, gl, this.framebuffer, this.texture));
|
||||
goog.partial(
|
||||
/**
|
||||
* @param {WebGLRenderingContext} gl GL.
|
||||
* @param {WebGLFramebuffer} framebuffer Framebuffer.
|
||||
* @param {WebGLTexture} texture Texture.
|
||||
*/
|
||||
function(gl, framebuffer, texture) {
|
||||
if (!gl.isContextLost()) {
|
||||
gl.deleteFramebuffer(framebuffer);
|
||||
gl.deleteTexture(texture);
|
||||
}
|
||||
}, gl, this.framebuffer, this.texture));
|
||||
|
||||
var texture = gl.createTexture();
|
||||
gl.bindTexture(goog.webgl.TEXTURE_2D, texture);
|
||||
|
||||
@@ -279,6 +279,9 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame =
|
||||
this.manageTilePyramid(
|
||||
frameState, tileSource, tileGrid, projection, extent, z,
|
||||
tileLayer.getPreload(),
|
||||
/**
|
||||
* @param {ol.Tile} tile Tile.
|
||||
*/
|
||||
function(tile) {
|
||||
if (tile.getState() == ol.TileState.LOADED &&
|
||||
!mapRenderer.isTileTextureLoaded(tile) &&
|
||||
|
||||
Reference in New Issue
Block a user