[Libreoffice-commits] online.git: loleaflet/src
Dennis Francis (via logerrit)
logerrit at kemper.freedesktop.org
Mon Jul 6 16:55:56 UTC 2020
loleaflet/src/layer/tile/TileLayer.js | 39 ++++++++++++++++++++++++++++------
1 file changed, 33 insertions(+), 6 deletions(-)
New commits:
commit 844a9431c88816ec5588827c248182c0d7d48ebf
Author: Dennis Francis <dennis.francis at collabora.com>
AuthorDate: Fri Jun 5 13:48:07 2020 +0530
Commit: Dennis Francis <dennis.francis at collabora.com>
CommitDate: Mon Jul 6 18:55:37 2020 +0200
introduce _getCursorRectangle() and _parseRectangle()...
and move the parsing/rectangle calculation code there.
Change-Id: Ia24cd5d6931cf970336e3acdcd4a07a6da044068
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98146
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Dennis Francis <dennis.francis at collabora.com>
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index cc9cc8287..64c3d9457 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -1249,13 +1249,10 @@ L.TileLayer = L.GridLayer.extend({
var obj = JSON.parse(textMsg);
var modifierViewId = parseInt(obj.viewId);
this._cursorAtMispelledWord = obj.mispelledWord ? Boolean(parseInt(obj.mispelledWord)).valueOf() : false;
- var strTwips = obj.rectangle.match(/\d+/g);
- var topLeftTwips = new L.Point(parseInt(strTwips[0]), parseInt(strTwips[1]));
- var offset = new L.Point(parseInt(strTwips[2]), parseInt(strTwips[3]));
- var bottomRightTwips = topLeftTwips.add(offset);
+ var rectangle = this._getCursorRectangle(obj);
this._visibleCursor = new L.LatLngBounds(
- this._twipsToLatLng(topLeftTwips, this._map.getZoom()),
- this._twipsToLatLng(bottomRightTwips, this._map.getZoom()));
+ this._twipsToLatLng(rectangle.getTopLeft(), this._map.getZoom()),
+ this._twipsToLatLng(rectangle.getBottomRight(), this._map.getZoom()));
var cursorPos = this._visibleCursor.getNorthWest();
var docLayer = this._map._docLayer;
if ((docLayer._followEditor || docLayer._followUser) && this._map.lastActionByUser) {
@@ -3402,6 +3399,36 @@ L.TileLayer = L.GridLayer.extend({
return this.sheetGeometry.getTileTwipsSheetAreaFromPrint(rectangle);
},
+ _getCursorRectangle: function (msgObj) {
+
+ if (typeof msgObj !== 'object' || !msgObj.hasOwnProperty('rectangle')) {
+ console.error('invalid cursor message');
+ return undefined;
+ }
+
+ return this._parseRectangle(msgObj.rectangle);
+ },
+
+ _parseRectangle: function (rectString) {
+
+ if (typeof rectString !== 'string') {
+ console.error('invalid rectangle string');
+ return undefined;
+ }
+
+ var strTwips = rectString.match(/\d+/g);
+ if (strTwips.length < 4) {
+ console.error('incomplete rectangle');
+ return undefined;
+ }
+
+ var topLeftTwips = new L.Point(parseInt(strTwips[0]), parseInt(strTwips[1]));
+ var offset = new L.Point(parseInt(strTwips[2]), parseInt(strTwips[3]));
+ var bottomRightTwips = topLeftTwips.add(offset);
+
+ return new L.Bounds(topLeftTwips, bottomRightTwips);
+ },
+
_debugGetTimeArray: function() {
return {count: 0, ms: 0, best: Number.MAX_SAFE_INTEGER, worst: 0, date: 0};
},
More information about the Libreoffice-commits
mailing list