loleaflet/plugins/path-transform/src/Path.Transform.js | 26 +++++++++++++++-- 1 file changed, 23 insertions(+), 3 deletions(-)
New commits: commit b51700b7b9498475932ebfda4159709e34752d61 Author: Marco Cecchetti <mrcek...@gmail.com> AuthorDate: Mon Mar 4 20:36:45 2019 +0100 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Tue Apr 30 04:14:50 2019 +0200 leaflet: after resizing a shape, dragging cursor with mouse pans view The problem was in Path.Transform._apply executed at scale/rotate end which enabled map dragging unconditionally. Change-Id: Id42dc7de397a2ca2774f9d31a698c32b5e1c8514 Reviewed-on: https://gerrit.libreoffice.org/70559 Reviewed-by: Henry Castro <hcas...@collabora.com> Tested-by: Henry Castro <hcas...@collabora.com> diff --git a/loleaflet/plugins/path-transform/src/Path.Transform.js b/loleaflet/plugins/path-transform/src/Path.Transform.js index f7efd72cc..3ea9ddaab 100644 --- a/loleaflet/plugins/path-transform/src/Path.Transform.js +++ b/loleaflet/plugins/path-transform/src/Path.Transform.js @@ -282,6 +282,7 @@ L.Handler.PathTransform = L.Handler.extend({ var matrix = this._matrix.clone(); var angle = this._angle; var scale = this._scale.clone(); + var moved = this._handleDragged; this._transformGeometries(); @@ -299,7 +300,11 @@ L.Handler.PathTransform = L.Handler.extend({ this._updateHandlers(); - map.dragging.enable(); + if (this._mapDraggingWasEnabled) { + if (moved) L.DomEvent._fakeStop({ type: 'click' }); + map.dragging.enable(); + } + this._path.fire('transformed', { matrix: matrix, scale: scale, @@ -576,7 +581,12 @@ L.Handler.PathTransform = L.Handler.extend({ _onRotateStart: function(evt) { var map = this._map; - map.dragging.disable(); + this._handleDragged = false; + this._mapDraggingWasEnabled = false; + if (map.dragging.enabled()) { + map.dragging.disable(); + this._mapDraggingWasEnabled = true; + } this._originMarker = null; this._rotationOriginPt = map.latLngToLayerPoint(this._getRotationOrigin()); @@ -604,6 +614,8 @@ L.Handler.PathTransform = L.Handler.extend({ var previous = this._rotationStart; var origin = this._rotationOriginPt; + this._handleDragged = true; + // rotation step angle this._angle = Math.atan2(pos.y - origin.y, pos.x - origin.x) - Math.atan2(previous.y - origin.y, previous.x - origin.x); @@ -649,7 +661,12 @@ L.Handler.PathTransform = L.Handler.extend({ var marker = evt.target; var map = this._map; - map.dragging.disable(); + this._handleDragged = false; + this._mapDraggingWasEnabled = false; + if (map.dragging.enabled()) { + map.dragging.disable(); + this._mapDraggingWasEnabled = true; + } this._activeMarker = marker; @@ -688,6 +705,9 @@ L.Handler.PathTransform = L.Handler.extend({ _onScale: function(evt) { var originPoint = this._originMarker._point; var ratioX, ratioY; + + this._handleDragged = true; + if (this.options.uniformScaling) { ratioX = originPoint.distanceTo(evt.layerPoint) / this._initialDist; ratioY = ratioX; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits