mirror of
https://github.com/konvajs/konva.git
synced 2025-12-04 19:08:24 +08:00
again reworked the matrix transform logic with drag and drop
This commit is contained in:
10
src/Stage.js
10
src/Stage.js
@@ -624,7 +624,11 @@ Kinetic.Stage.prototype = {
|
||||
newNodePos.x = node.x;
|
||||
}
|
||||
|
||||
// magic
|
||||
// save rotation and remove it from transform
|
||||
var rot = node.rotation;
|
||||
node.rotation = 0;
|
||||
|
||||
// unravel transform
|
||||
var it = node.getAbsoluteTransform();
|
||||
it.invert();
|
||||
it.translate(newNodePos.x, newNodePos.y);
|
||||
@@ -632,6 +636,9 @@ Kinetic.Stage.prototype = {
|
||||
node.x += it.getTranslation().x;
|
||||
node.y += it.getTranslation().y;
|
||||
|
||||
// restore rotation
|
||||
node.rotate(rot);
|
||||
|
||||
go.drag.node.getLayer().draw();
|
||||
|
||||
if(!go.drag.moving) {
|
||||
@@ -639,6 +646,7 @@ Kinetic.Stage.prototype = {
|
||||
// execute dragstart events if defined
|
||||
go.drag.node._handleEvents('ondragstart', evt);
|
||||
}
|
||||
|
||||
// execute user defined ondragmove if defined
|
||||
go.drag.node._handleEvents('ondragmove', evt);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user