loleaflet/src/layer/tile/CalcTileLayer.js | 3 ++ loleaflet/src/layer/tile/ImpressTileLayer.js | 3 ++ loleaflet/src/layer/tile/TileLayer.js | 38 +++++++++++++++++++++++++++ loleaflet/src/layer/tile/WriterTileLayer.js | 3 ++ 4 files changed, 47 insertions(+)
New commits: commit fb351f2c1af04e784b66aefb2d1fd2bd696df6c1 Author: László Németh <laszlo.nem...@collabora.com> Date: Tue Sep 20 13:16:02 2016 +0200 add client-side tile debugging mode Extending the document URL with debug=1 option will switch - visible tile boundaries - update numbers over tiles and invalidated tiles will be blue during waiting for an update. diff --git a/loleaflet/src/layer/tile/CalcTileLayer.js b/loleaflet/src/layer/tile/CalcTileLayer.js index b3ac37f..1d51cf8 100644 --- a/loleaflet/src/layer/tile/CalcTileLayer.js +++ b/loleaflet/src/layer/tile/CalcTileLayer.js @@ -64,6 +64,9 @@ L.CalcTileLayer = L.TileLayer.extend({ } tilePositionsY += tileTopLeft.y; needsNewTiles = true; + if (this._debug && this._tiles[key]._debugTile) { + this._tiles[key]._debugTile.setStyle({fillOpacity: 0.5}); + } } else { // tile outside of the visible area, just remove it diff --git a/loleaflet/src/layer/tile/ImpressTileLayer.js b/loleaflet/src/layer/tile/ImpressTileLayer.js index 8f2358a..96934d6 100644 --- a/loleaflet/src/layer/tile/ImpressTileLayer.js +++ b/loleaflet/src/layer/tile/ImpressTileLayer.js @@ -48,6 +48,9 @@ L.ImpressTileLayer = L.TileLayer.extend({ } tilePositionsY += tileTopLeft.y; needsNewTiles = true; + if (this._debug && this._tiles[key]._debugTile) { + this._tiles[key]._debugTile.setStyle({fillOpacity: 0.5}); + } } else { // tile outside of the visible area, just remove it diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js index 4317e17..b9e0afb 100644 --- a/loleaflet/src/layer/tile/TileLayer.js +++ b/loleaflet/src/layer/tile/TileLayer.js @@ -12,6 +12,12 @@ if (typeof String.prototype.startsWith !== 'function') { }; } +function getParameterByName(name) { + name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); + var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'), results = regex.exec(location.search); + return results === null ? '' : results[1].replace(/\+/g, ' '); +} + L.Compatibility = { clipboardGet: function (event) { var text = null; @@ -146,6 +152,12 @@ L.TileLayer = L.GridLayer.extend({ map.addLayer(this._viewSelectionsGroup); this._viewSelections = {}; + this._debug = (getParameterByName('debug') == '1'); + if (this._debug) { + this._debugInfo = new L.LayerGroup(); + map.addLayer(this._debugInfo); + } + this._searchResultsLayer = new L.LayerGroup(); map.addLayer(this._searchResultsLayer); @@ -982,6 +994,25 @@ L.TileLayer = L.GridLayer.extend({ coords.part = command.part; var key = this._tileCoordsToKey(coords); var tile = this._tiles[key]; + if (this._debug && tile) { + var tileBound = this._keyToBounds(key); + if (tile._debugLoadCount) { + tile._debugLoadCount += 1; + } else { + tile._debugLoadCount = 1; + } + if (!tile._debugPopup) { + tile._debugPopup = L.popup({offset: new L.Point(0, 0), autoPan: false, closeButton: false, closeOnClick: false}) + .setLatLng(new L.LatLng(tileBound.getSouth(), tileBound.getCenter().lng)).setContent('-'); + this._debugInfo.addLayer(tile._debugPopup); + tile._debugTile = L.rectangle(tileBound, {color: 'blue', weight: 1, fillOpacity: 0, pointerEvents: 'none'}); + this._debugInfo.addLayer(tile._debugTile); + } + tile._debugPopup.setContent('' + this._tiles[key]._debugLoadCount); + if (tile._debugTile) { + tile._debugTile.setStyle({fillOpacity: 0}); + } + } if (command.id !== undefined) { this._map.fire('tilepreview', { tile: img, @@ -1701,6 +1732,13 @@ L.TileLayer = L.GridLayer.extend({ }, _invalidateClientVisibleArea: function() { + if (this._debug) { + this._debugInfo.clearLayers(); + for (var key in this._tiles) { + this._tiles[key]._debugPopup = null; + this._tiles[key]._debugTile = null; + } + } this._clientVisibleArea = true; } }); diff --git a/loleaflet/src/layer/tile/WriterTileLayer.js b/loleaflet/src/layer/tile/WriterTileLayer.js index ab604aa..d29c3d5 100644 --- a/loleaflet/src/layer/tile/WriterTileLayer.js +++ b/loleaflet/src/layer/tile/WriterTileLayer.js @@ -49,6 +49,9 @@ L.WriterTileLayer = L.TileLayer.extend({ } tilePositionsY += tileTopLeft.y; needsNewTiles = true; + if (this._debug && this._tiles[key]._debugTile) { + this._tiles[key]._debugTile.setStyle({fillOpacity: 0.5}); + } } else { // tile outside of the visible area, just remove it
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits