automatically change transformer on shape changes. close #391

This commit is contained in:
Anton Lavrenov 2018-05-17 07:22:21 +09:00
parent 320ec87b2e
commit 74d3a12921
5 changed files with 47 additions and 9 deletions

View File

@ -2,7 +2,7 @@
* Konva JavaScript Framework v2.1.2
* http://konvajs.github.io/
* Licensed under the MIT
* Date: Wed May 16 2018
* Date: Thu May 17 2018
*
* Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)
* Modified work Copyright (C) 2014 - present by Anton Lavrenov (Konva)
@ -18647,6 +18647,18 @@
'transformsEnabledChange.resizer'
].join(' ');
var REDRAW_CHANGE_STR = [
'widthChange.resizer',
'heightChange.resizer',
'scaleXChange.resizer',
'scaleYChange.resizer',
'skewXChange.resizer',
'skewYChange.resizer',
'rotationChange.resizer',
'offsetXChange.resizer',
'offsetYChange.resizer'
].join(' ');
var ANGLES = {
'top-left': -45,
'top-center': 0,
@ -18791,6 +18803,14 @@
this._clearCache(NODE_RECT);
node.on(TRANSFORM_CHANGE_STR, this._resetTransformCache.bind(this));
node.on(
REDRAW_CHANGE_STR,
function() {
if (!this._transforming) {
this.update();
}
}.bind(this)
);
// TODO: why do we need this?
var elementsCreated = !!this.findOne('.top-left');

4
konva.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -23,6 +23,18 @@
'transformsEnabledChange.resizer'
].join(' ');
var REDRAW_CHANGE_STR = [
'widthChange.resizer',
'heightChange.resizer',
'scaleXChange.resizer',
'scaleYChange.resizer',
'skewXChange.resizer',
'skewYChange.resizer',
'rotationChange.resizer',
'offsetXChange.resizer',
'offsetYChange.resizer'
].join(' ');
var ANGLES = {
'top-left': -45,
'top-center': 0,
@ -167,6 +179,14 @@
this._clearCache(NODE_RECT);
node.on(TRANSFORM_CHANGE_STR, this._resetTransformCache.bind(this));
node.on(
REDRAW_CHANGE_STR,
function() {
if (!this._transforming) {
this.update();
}
}.bind(this)
);
// TODO: why do we need this?
var elementsCreated = !!this.findOne('.top-left');

View File

@ -315,9 +315,7 @@ suite('Manual', function() {
});
// ======================================================
test('create image hit region with pixelRatio, look at hit, test hit with mouseover', function(
done
) {
test('create image hit region with pixelRatio, look at hit, test hit with mouseover', function(done) {
var imageObj = new Image();
Konva.pixelRatio = 2;
@ -357,9 +355,7 @@ suite('Manual', function() {
});
// ======================================================
test('image hit region with alpha threshold, mouseover circle', function(
done
) {
test('image hit region with alpha threshold, mouseover circle', function(done) {
var stage = addStage();
var layer = new Konva.Layer();
stage.add(layer);

View File

@ -100,6 +100,8 @@ suite('Transformer', function() {
assert.equal(tr.y(), rect.y());
assert.equal(tr.width(), rect.width());
assert.equal(tr.height(), rect.height());
assert.equal(tr.findOne('.back').width(), rect.width());
console.log(tr);
});
test('add transformer for transformed rect', function() {