Improved best first level calculation

This commit is contained in:
Ian Gilman 2017-05-16 13:49:59 -07:00
parent 29f973029f
commit 1a60238c61
2 changed files with 4 additions and 11 deletions

View File

@ -978,7 +978,7 @@ $.extend($.TiledImage.prototype, $.EventSource.prototype, /** @lends OpenSeadrag
var targetZeroRatio = viewport.deltaPixelsFromPointsNoRotate(
this.source.getPixelRatio(
Math.max(
this.source.getClosestLevel(viewport.containerSize) - 1,
this.source.getClosestLevel(),
0
)
),

View File

@ -320,21 +320,14 @@ $.TileSource.prototype = {
/**
* @function
* @param {Rect} rect
*/
getClosestLevel: function( rect ) {
getClosestLevel: function() {
var i,
tilesPerSide,
tiles;
for( i = this.minLevel; i < this.maxLevel; i++ ){
for( i = this.minLevel; i <= this.maxLevel; i++ ){
tiles = this.getNumTiles( i );
tilesPerSide = new $.Point(
Math.floor( rect.x / this.getTileWidth(i) ),
Math.floor( rect.y / this.getTileHeight(i) )
);
if( tiles.x + 1 >= tilesPerSide.x && tiles.y + 1 >= tilesPerSide.y ){
if (tiles.x > 1 || tiles.y > 1) {
break;
}
}