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
|
||||
*/
|
||||
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