mirror of
https://github.com/Hopiu/fabric.js.git
synced 2026-05-14 16:53:10 +00:00
mousemove and svg export (#4283)
This commit is contained in:
parent
a72d9630f6
commit
860b7a74c0
3 changed files with 29 additions and 32 deletions
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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') {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue