Use a switch to select tier size calculation

This commit is contained in:
Tom Payne
2014-02-20 19:30:47 +01:00
parent 00eff70ae6
commit a773ab256c

View File

@@ -1,6 +1,7 @@
goog.provide('ol.source.Zoomify'); goog.provide('ol.source.Zoomify');
goog.require('goog.array'); goog.require('goog.array');
goog.require('goog.asserts');
goog.require('goog.dom'); goog.require('goog.dom');
goog.require('goog.dom.TagName'); goog.require('goog.dom.TagName');
goog.require('ol.ImageTile'); goog.require('ol.ImageTile');
@@ -42,26 +43,31 @@ ol.source.Zoomify = function(opt_options) {
var tierSizeInTiles = []; var tierSizeInTiles = [];
var tileSize = ol.DEFAULT_TILE_SIZE; var tileSize = ol.DEFAULT_TILE_SIZE;
if (tierSizeCalculation === 'truncated') { switch (tierSizeCalculation) {
var width = imageWidth; case ol.source.ZoomifyTierSizeCalculation.DEFAULT:
var height = imageHeight; while (imageWidth > tileSize || imageHeight > tileSize) {
tierSizeInTiles.push([
while (width > tileSize || height > tileSize) { Math.ceil(imageWidth / tileSize),
tierSizeInTiles.push([ Math.ceil(imageHeight / tileSize)
Math.ceil(width / tileSize), ]);
Math.ceil(height / tileSize) tileSize += tileSize;
]); }
width >>= 1; break;
height >>= 1; case ol.source.ZoomifyTierSizeCalculation.TRUNCATED:
} var width = imageWidth;
} else { var height = imageHeight;
while (imageWidth > tileSize || imageHeight > tileSize) { while (width > tileSize || height > tileSize) {
tierSizeInTiles.push([ tierSizeInTiles.push([
Math.ceil(imageWidth / tileSize), Math.ceil(width / tileSize),
Math.ceil(imageHeight / tileSize) Math.ceil(height / tileSize)
]); ]);
tileSize += tileSize; width >>= 1;
} height >>= 1;
}
break;
default:
goog.asserts.fail();
break;
} }
tierSizeInTiles.push([1, 1]); tierSizeInTiles.push([1, 1]);