loleaflet/src/layer/tile/CalcTileLayer.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
New commits: commit 1744ae64156c08746c413f23d8c8a87163a6ae58 Author: Dennis Francis <dennis.fran...@collabora.com> AuthorDate: Thu May 14 23:11:07 2020 +0530 Commit: Dennis Francis <dennis.fran...@collabora.com> CommitDate: Sun Jul 5 09:57:28 2020 +0200 Round down when computing row/col index from tile-twips position And lets not unnecessarily extend the cellrange in the view as the computation is accurate. Change-Id: I62de80ce42430c62a399d4e39bafab7896217bf1 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97943 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Dennis Francis <dennis.fran...@collabora.com> diff --git a/loleaflet/src/layer/tile/CalcTileLayer.js b/loleaflet/src/layer/tile/CalcTileLayer.js index 974c1daae..6ed8ae4b4 100644 --- a/loleaflet/src/layer/tile/CalcTileLayer.js +++ b/loleaflet/src/layer/tile/CalcTileLayer.js @@ -975,6 +975,7 @@ L.SheetDimension = L.Class.extend({ }); }, + // computes element index from tile-twips position. _getIndexFromTileTwipsPos: function (pos) { var span = this._visibleSizes.getSpanDataByCustomDataField(pos, 'postiletwips'); var elementCount = span.end - span.start + 1; @@ -982,16 +983,17 @@ L.SheetDimension = L.Class.extend({ this._devPixelsPerCssPixel * this._twipsPerCSSPixel); var posEnd = span.data.postiletwips; var sizeOne = (posEnd - posStart) / elementCount; - var relativeIndex = Math.round((pos - posStart) / sizeOne); + + // always round down as relativeIndex is zero-based. + var relativeIndex = Math.floor((pos - posStart) / sizeOne); return span.start + relativeIndex; }, setViewLimits: function (startPosTileTwips, endPosTileTwips) { - // Extend the range a bit, to compensate for rounding errors. - this._viewStartIndex = Math.max(0, this._getIndexFromTileTwipsPos(startPosTileTwips) - 2); - this._viewEndIndex = Math.min(this._maxIndex, this._getIndexFromTileTwipsPos(endPosTileTwips) + 2); + this._viewStartIndex = Math.max(0, this._getIndexFromTileTwipsPos(startPosTileTwips)); + this._viewEndIndex = Math.min(this._maxIndex, this._getIndexFromTileTwipsPos(endPosTileTwips)); }, getViewElementRange: function () { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits