mirror of
https://github.com/openseadragon/openseadragon.git
synced 2025-01-31 15:12:07 +03:00
Merge pull request #26 from openseadragon/memoizelevelscale
memoize default implementation of getLevelScale
This commit is contained in:
commit
fc479b5ecb
@ -141,7 +141,19 @@ $.TileSource.prototype = {
|
|||||||
* @param {Number} level
|
* @param {Number} level
|
||||||
*/
|
*/
|
||||||
getLevelScale: function( level ) {
|
getLevelScale: function( level ) {
|
||||||
return 1 / ( 1 << ( this.maxLevel - level ) );
|
|
||||||
|
// see https://github.com/openseadragon/openseadragon/issues/22
|
||||||
|
// we use the tilesources implementation of getLevelScale to generate
|
||||||
|
// a memoized re-implementation
|
||||||
|
var levelScaleCache = {},
|
||||||
|
i;
|
||||||
|
for( i = 0; i <= this.maxLevel; i++ ){
|
||||||
|
levelScaleCache[ i ] = 1 / Math.pow(2, this.maxLevel - i);
|
||||||
|
}
|
||||||
|
this.getLevelScale = function( _level ){
|
||||||
|
return levelScaleCache[ _level ];
|
||||||
|
};
|
||||||
|
return this.getLevelScale( level );
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user