From 3f3fbe7e4b63c19a1a8f5baa3850a5c2c3e26e0f Mon Sep 17 00:00:00 2001 From: Lutz Helm Date: Thu, 21 Mar 2019 15:54:08 +0100 Subject: [PATCH] Remove IIIF source rounding workarounds Always try to use canonical URI form. If the server serves wrong tile heights for given w, shaped size request URI parameters, so be it. --- src/ol/source/IIIF.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/ol/source/IIIF.js b/src/ol/source/IIIF.js index 05babdd608..d0f4754767 100644 --- a/src/ol/source/IIIF.js +++ b/src/ol/source/IIIF.js @@ -184,9 +184,6 @@ class IIIF extends TileImage { if (regionY + tileHeight * scale > height) { sizeH = Math.floor((height - regionY + scale - 1) / scale); } - const sizeHBySizeW = Math.round(sizeW / regionW * regionH), - sizeWBySizeH = Math.round(sizeH / regionH * regionW), - preferSizeByH = (sizeHBySizeW > sizeH) && (sizeW == sizeWBySizeH); if (regionX == 0 && regionW == width && regionY == 0 && regionH == height) { // canonical full image region parameter is 'full', not 'x,y,w,h' regionParam = 'full'; @@ -201,7 +198,7 @@ class IIIF extends TileImage { } if (version == Versions.VERSION3 && (!supportsArbitraryTiling || features.includes('sizeByWh'))) { sizeParam = sizeW + ',' + sizeH; - } else if (!supportsArbitraryTiling || features.includes('sizeByW') && (!preferSizeByH || !(features.includes('sizeByH')))) { + } else if (!supportsArbitraryTiling || features.includes('sizeByW')) { sizeParam = sizeW + ','; } else if (features.includes('sizeByH')) { sizeParam = ',' + sizeH;