[Libreoffice-commits] online.git: loleaflet/src

Henry Castro hcastro at collabora.com
Wed Aug 10 15:33:45 UTC 2016


 loleaflet/src/control/Control.ColumnHeader.js |   20 ++++++++++----------
 loleaflet/src/control/Control.Header.js       |   13 +++++++------
 loleaflet/src/control/Control.RowHeader.js    |   20 ++++++++++----------
 3 files changed, 27 insertions(+), 26 deletions(-)

New commits:
commit d32f4e824bd99526858508370eeb8f8b455d538b
Author: Henry Castro <hcastro at collabora.com>
Date:   Wed Aug 10 11:33:20 2016 -0400

    loleaflet: fix offset while moving vertical/horizontal line

diff --git a/loleaflet/src/control/Control.ColumnHeader.js b/loleaflet/src/control/Control.ColumnHeader.js
index 525d881..f248439 100644
--- a/loleaflet/src/control/Control.ColumnHeader.js
+++ b/loleaflet/src/control/Control.ColumnHeader.js
@@ -170,33 +170,33 @@ L.Control.ColumnHeader = L.Control.Header.extend({
 		this._map.sendUnoCommand('.uno:SelectAll');
 	},
 
-	_getVertLatLng: function (e) {
+	_getVertLatLng: function (offset, e) {
 		var drag = this._map.mouseEventToContainerPoint(e);
 		return [
-			this._map.containerPointToLatLng(new L.Point(drag.x, 0)),
-			this._map.containerPointToLatLng(new L.Point(drag.x, this._map.getSize().y))
+			this._map.containerPointToLatLng(new L.Point(drag.x + offset.x, 0)),
+			this._map.containerPointToLatLng(new L.Point(drag.x + offset.x, this._map.getSize().y))
 		];
 	},
 
-	onDragStart: function (item, start, e) {
+	onDragStart: function (item, start, offset, e) {
 		if (!this._vertLine) {
-			this._vertLine = L.polyline(this._getVertLatLng(e), {color: 'darkblue', weight: 1});
+			this._vertLine = L.polyline(this._getVertLatLng(offset, e), {color: 'darkblue', weight: 1});
 		}
 		else {
-			this._vertLine.setLatLngs(this._getVertLatLng(e));
+			this._vertLine.setLatLngs(this._getVertLatLng(offset, e));
 		}
 
 		this._map.addLayer(this._vertLine);
 	},
 
-	onDragMove: function (item, start, e) {
+	onDragMove: function (item, start, offset, e) {
 		if (this._vertLine) {
-			this._vertLine.setLatLngs(this._getVertLatLng(e));
+			this._vertLine.setLatLngs(this._getVertLatLng(offset, e));
 		}
 	},
 
-	onDragEnd: function (item, start, e) {
-		var end = new L.Point(e.clientX, e.clientY);
+	onDragEnd: function (item, start, offset, e) {
+		var end = new L.Point(e.clientX + offset.x, e.clientY);
 		var distance = this._map._docLayer._pixelsToTwips(end.subtract(start));
 
 		if (distance.x > 0 && item.width != distance.x) {
diff --git a/loleaflet/src/control/Control.Header.js b/loleaflet/src/control/Control.Header.js
index 753fc52..3a56fc5 100644
--- a/loleaflet/src/control/Control.Header.js
+++ b/loleaflet/src/control/Control.Header.js
@@ -25,11 +25,12 @@ L.Control.Header = L.Control.extend({
 		L.DomEvent.on(document, 'mousemove', this._onMouseMove, this)
 		L.DomEvent.on(document, 'mouseup', this._onMouseUp, this);
 
-		var rectangle = target.parentNode.getBoundingClientRect();
+		var rect = target.parentNode.getBoundingClientRect();
+		this._start = new L.Point(rect.left, rect.top);
+		this._offset = new L.Point(rect.right - e.clientX, rect.bottom - e.clientY);
 		this._item = target;
-		this._start = new L.Point(rectangle.left, rectangle.top);
 
-		this.onDragStart(this.item, this._start, e);
+		this.onDragStart(this.item, this._start, this._offset, e);
 	},
 
 	_onMouseMove: function (e) {
@@ -46,7 +47,7 @@ L.Control.Header = L.Control.extend({
 
 		L.DomEvent.preventDefault(e);
 
-		this.onDragMove(this._item, this._start, e);
+		this.onDragMove(this._item, this._start, this._offset, e);
 	},
 
 	_onMouseUp: function (e) {
@@ -60,8 +61,8 @@ L.Control.Header = L.Control.extend({
 		L.DomUtil.enableImageDrag();
 		L.DomUtil.enableTextSelection();
 
-		this.onDragEnd(this._item, this._start, e);
-		this._target = this._cursor = this._item = this._start = null;
+		this.onDragEnd(this._item, this._start, this._offset, e);
+		this._target = this._cursor = this._item = this._start = this._offset = null;
 		this._dragging = false;
 	},
 
diff --git a/loleaflet/src/control/Control.RowHeader.js b/loleaflet/src/control/Control.RowHeader.js
index 716abe0..24dc811 100644
--- a/loleaflet/src/control/Control.RowHeader.js
+++ b/loleaflet/src/control/Control.RowHeader.js
@@ -151,33 +151,33 @@ L.Control.RowHeader = L.Control.Header.extend({
 		this._selectRow(row, modifier);
 	},
 
-	_getHorzLatLng: function (e) {
+	_getHorzLatLng: function (offset, e) {
 		var drag = this._map.mouseEventToContainerPoint(e);
 		return [
-			this._map.containerPointToLatLng(new L.Point(0, drag.y)),
-			this._map.containerPointToLatLng(new L.Point(this._map.getSize().x, drag.y))
+			this._map.containerPointToLatLng(new L.Point(0, drag.y + offset.y)),
+			this._map.containerPointToLatLng(new L.Point(this._map.getSize().x, drag.y + offset.y))
 		];
 	},
 
-	onDragStart: function (item, start, e) {
+	onDragStart: function (item, start, offset, e) {
 		if (!this._horzLine) {
-			this._horzLine = L.polyline(this._getHorzLatLng(e), {color: 'darkblue', weight: 1});
+			this._horzLine = L.polyline(this._getHorzLatLng(offset, e), {color: 'darkblue', weight: 1});
 		}
 		else {
-			this._horzLine.setLatLngs(this._getHorzLatLng(e));
+			this._horzLine.setLatLngs(this._getHorzLatLng(offset, e));
 		}
 
 		this._map.addLayer(this._horzLine);
 	},
 
-	onDragMove: function (item, start, e) {
+	onDragMove: function (item, start, offset, e) {
 		if (this._horzLine) {
-			this._horzLine.setLatLngs(this._getHorzLatLng(e));
+			this._horzLine.setLatLngs(this._getHorzLatLng(offset, e));
 		}
 	},
 
-	onDragEnd: function (item, start, e) {
-		var end = new L.Point(e.clientX, e.clientY);
+	onDragEnd: function (item, start, offset, e) {
+		var end = new L.Point(e.clientX, e.clientY + offset.y);
 		var distance = this._map._docLayer._pixelsToTwips(end.subtract(start));
 
 		if (distance.y > 0 && item.height != distance.y) {


More information about the Libreoffice-commits mailing list