From 860b7a74c054d8e6282dc59759030bac32badfbc Mon Sep 17 00:00:00 2001 From: Andrea Bogazzi Date: Wed, 6 Sep 2017 12:38:12 +0200 Subject: [PATCH] mousemove and svg export (#4283) --- src/canvas.class.js | 30 ------------------------------ src/gradient.class.js | 4 ++-- src/mixins/canvas_events.mixin.js | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/canvas.class.js b/src/canvas.class.js index d105468dbec..82aee625c5e 100644 --- a/src/canvas.class.js +++ b/src/canvas.class.js @@ -1113,18 +1113,15 @@ this.targets = []; if (aObjects.length > 1 && !skipGroup && activeObject === this._searchPossibleTargets([activeObject], pointer)) { - this._fireOverOutEvents(activeObject, e); return activeObject; } // if we hit the corner of an activeObject, let's return that. if (aObjects.length === 1 && activeObject._findTargetCorner(pointer)) { - this._fireOverOutEvents(activeObject, e); return activeObject; } if (aObjects.length === 1 && activeObject === this._searchPossibleTargets([activeObject], pointer)) { if (!this.preserveObjectStacking) { - this._fireOverOutEvents(activeObject, e); return activeObject; } else { @@ -1135,36 +1132,9 @@ if (e[this.altSelectionKey] && target && activeTarget && target !== activeTarget) { target = activeTarget; } - this._fireOverOutEvents(target, e); return target; }, - /** - * @private - */ - _fireOverOutEvents: function(target, e) { - var overOpt, outOpt, hoveredTarget = this._hoveredTarget; - if (hoveredTarget !== target) { - overOpt = { e: e, target: target, previousTarget: this._hoveredTarget }; - outOpt = { e: e, target: this._hoveredTarget, nextTarget: target }; - this._hoveredTarget = target; - } - if (target) { - if (hoveredTarget !== target) { - if (hoveredTarget) { - this.fire('mouse:out', outOpt); - hoveredTarget.fire('mouseout', outOpt); - } - this.fire('mouse:over', overOpt); - target.fire('mouseover', overOpt); - } - } - else if (hoveredTarget) { - this.fire('mouse:out', outOpt); - hoveredTarget.fire('mouseout', outOpt); - } - }, - /** * @private */ diff --git a/src/gradient.class.js b/src/gradient.class.js index 665c67a8299..f64a72f4281 100644 --- a/src/gradient.class.js +++ b/src/gradient.class.js @@ -180,8 +180,8 @@ return a.offset - b.offset; }); if (object.type === 'path') { - offsetX = 0; - offsetY = 0; + offsetX -= object.pathOffset.x; + offsetY -= object.pathOffset.y; } for (var prop in coords) { if (prop === 'x1' || prop === 'x2') { diff --git a/src/mixins/canvas_events.mixin.js b/src/mixins/canvas_events.mixin.js index 3a9342e4e26..b378ba1ae9d 100644 --- a/src/mixins/canvas_events.mixin.js +++ b/src/mixins/canvas_events.mixin.js @@ -653,6 +653,7 @@ else if (!this._currentTransform) { target = this.findTarget(e); this._setCursorFromEvent(e, target); + this._fireOverOutEvents(target, e); } else { this._transformObject(e); @@ -660,6 +661,32 @@ this._handleEvent(e, 'move', target ? target : null); }, + /** + * @private + */ + _fireOverOutEvents: function(target, e) { + var overOpt, outOpt, hoveredTarget = this._hoveredTarget; + if (hoveredTarget !== target) { + overOpt = { e: e, target: target, previousTarget: this._hoveredTarget }; + outOpt = { e: e, target: this._hoveredTarget, nextTarget: target }; + this._hoveredTarget = target; + } + if (target) { + if (hoveredTarget !== target) { + if (hoveredTarget) { + this.fire('mouse:out', outOpt); + hoveredTarget.fire('mouseout', outOpt); + } + this.fire('mouse:over', overOpt); + target.fire('mouseover', overOpt); + } + } + else if (hoveredTarget) { + this.fire('mouse:out', outOpt); + hoveredTarget.fire('mouseout', outOpt); + } + }, + /** * Method that defines actions when an Event Mouse Wheel * @param {Event} e Event object fired on mouseup