loleaflet/src/layer/tile/TileLayer.TableOverlay.js | 24 ++------------------- loleaflet/src/layer/tile/TileLayer.js | 18 +++++++++++++++ loleaflet/src/map/handler/Map.TouchGesture.js | 9 +++++-- 3 files changed, 27 insertions(+), 24 deletions(-)
New commits: commit 6b3eea91215a0e1d361db639dc9b4514a310cdbb Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Mon Sep 30 09:24:08 2019 +0200 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Mon Sep 30 09:31:44 2019 +0200 Convert the touch to mouse event when dragging graphic seelction This is needed so the dragging code can correctly recognize the event and set the variables or the preview won't be drawn during dragging. Change-Id: I9b92985f9557cf6d87db4f73507b961941e0a039 Reviewed-on: https://gerrit.libreoffice.org/79827 Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> Tested-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/loleaflet/src/layer/tile/TileLayer.TableOverlay.js b/loleaflet/src/layer/tile/TileLayer.TableOverlay.js index 6a7cba29b..978a3ebc5 100644 --- a/loleaflet/src/layer/tile/TileLayer.TableOverlay.js +++ b/loleaflet/src/layer/tile/TileLayer.TableOverlay.js @@ -333,36 +333,18 @@ L.TileLayer.include({ if (e.originalEvent) e.originalEvent.preventDefault(); }, - _createMouseEvent: function (type, inputEvent) { - var event = inputEvent; - if (inputEvent.type == 'touchstart' || inputEvent.type == 'touchmove') { - event = inputEvent.touches[0]; - } - else if (inputEvent.type == 'touchend') { - event = inputEvent.changedTouches[0]; - } - - var newEvent = document.createEvent('MouseEvents'); - newEvent.initMouseEvent( - type, true, true, window, 1, - event.screenX, event.screenY, - event.clientX, event.clientY, - false, false, false, false, 0, null - ); - return newEvent; - }, _onTableMoveMarkerDrag: function (event) { var mouseEvent; if (event.type == 'dragstart') { - mouseEvent = this._createMouseEvent('mousedown', event.originalEvent); + mouseEvent = this._createNewMouseEvent('mousedown', event.originalEvent); this._graphicMarker._onDragStart(mouseEvent); } else if (event.type == 'drag') { - mouseEvent = this._createMouseEvent('mousemove', event.originalEvent); + mouseEvent = this._createNewMouseEvent('mousemove', event.originalEvent); this._graphicMarker._onDrag(mouseEvent); } else if (event.type == 'dragend') { - mouseEvent = this._createMouseEvent('mouseup', event.originalEvent); + mouseEvent = this._createNewMouseEvent('mouseup', event.originalEvent); this._graphicMarker._onDragEnd(mouseEvent); } } diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js index 8a39c97b7..0d1668489 100644 --- a/loleaflet/src/layer/tile/TileLayer.js +++ b/loleaflet/src/layer/tile/TileLayer.js @@ -334,6 +334,24 @@ L.TileLayer = L.GridLayer.extend({ map.fire('statusindicator', {statusType: 'loleafletloaded'}); }, + _createNewMouseEvent: function (type, inputEvent) { + var event = inputEvent; + if (inputEvent.type == 'touchstart' || inputEvent.type == 'touchmove') { + event = inputEvent.touches[0]; + } + else if (inputEvent.type == 'touchend') { + event = inputEvent.changedTouches[0]; + } + var newEvent = document.createEvent('MouseEvents'); + newEvent.initMouseEvent( + type, true, true, window, 1, + event.screenX, event.screenY, + event.clientX, event.clientY, + false, false, false, false, 0, null + ); + return newEvent; + }, + clearAnnotations: function() { console.debug('Implemented in child classes'); }, diff --git a/loleaflet/src/map/handler/Map.TouchGesture.js b/loleaflet/src/map/handler/Map.TouchGesture.js index e78709e56..be2d3813f 100644 --- a/loleaflet/src/map/handler/Map.TouchGesture.js +++ b/loleaflet/src/map/handler/Map.TouchGesture.js @@ -300,7 +300,8 @@ L.Map.TouchGesture = L.Handler.extend({ if (this._state === L.Map.TouchGesture.MARKER) { this._map._fireDOMEvent(this._marker, point, 'mousedown'); } else if (this._state === L.Map.TouchGesture.GRAPHIC) { - this._map._docLayer._graphicMarker._onDragStart(point); + var mouseEvent = this._map._docLayer._createNewMouseEvent('mousedown', point); + this._map._docLayer._graphicMarker._onDragStart(mouseEvent); } else if (this._state === L.Map.TouchGesture.CURSOR) { this._map._docLayer._postMouseEvent('buttondown', mousePos.x, mousePos.y, 1, 1, 0); } else { @@ -319,7 +320,8 @@ L.Map.TouchGesture = L.Handler.extend({ this._map._fireDOMEvent(this._map, point, 'mousemove'); this._moving = true; } else if (this._state === L.Map.TouchGesture.GRAPHIC) { - this._map._docLayer._graphicMarker._onDrag(point); + var mouseEvent = this._map._docLayer._createNewMouseEvent('mousemove', point); + this._map._docLayer._graphicMarker._onDrag(mouseEvent); this._moving = true; } else if (this._state === L.Map.TouchGesture.CURSOR) { this._map._docLayer._postMouseEvent('move', mousePos.x, mousePos.y, 1, 1, 0); @@ -339,7 +341,8 @@ L.Map.TouchGesture = L.Handler.extend({ this._map._fireDOMEvent(this._map, point, 'mouseup'); this._moving = false; } else if (this._state === L.Map.TouchGesture.GRAPHIC) { - this._map._docLayer._graphicMarker._onDragEnd(point); + var mouseEvent = this._map._docLayer._createNewMouseEvent('mouseup', point); + this._map._docLayer._graphicMarker._onDragEnd(mouseEvent); this._moving = false; } else if (this._state === L.Map.TouchGesture.CURSOR) { this._map._docLayer._postMouseEvent('buttonup', mousePos.x, mousePos.y, 1, 1, 0); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits