better toDataURL for shapes

This commit is contained in:
Anton Lavrenov
2018-08-01 09:26:13 +07:00
parent 40416a0cee
commit 98d2d6ffe0
5 changed files with 55 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
suite('BaseLayer', function() {
// ======================================================
test('width and height', function() {
Konva.showWarnings = false;
var stage = addStage();
var layer = new Konva.FastLayer();
@@ -52,5 +53,6 @@ suite('BaseLayer', function() {
stage.height(),
'while layer is on stage changing height doing nothing'
);
Konva.showWarnings = true;
});
});

View File

@@ -292,7 +292,7 @@ suite('Node', function() {
// ======================================================
test('toDataURL + HDPI', function(done) {
this.timeout(5000);
// this.timeout(5000);
var oldRatio = Konva.pixelRatio;
Konva.pixelRatio = 2;
@@ -338,6 +338,49 @@ suite('Node', function() {
});
});
// ======================================================
test('toDataURL of moved shape', function() {
var stage = addStage();
var layer = new Konva.Layer();
stage.add(layer);
var circle = new Konva.Circle({
fill: 'green',
radius: 50
});
layer.add(circle);
var oldURL = circle.toDataURL();
circle.x(100);
circle.y(100);
var newURL = circle.toDataURL();
assert.equal(oldURL, newURL);
});
// ======================================================
test('toDataURL of transformer shape', function() {
var stage = addStage();
var layer = new Konva.Layer();
stage.add(layer);
var text = new Konva.Text({
fill: 'green',
text: 'hello, test',
rotation: 45
});
layer.add(text);
var oldURL = text.toDataURL();
text.x(100);
text.y(100);
var newURL = text.toDataURL();
assert.equal(oldURL, newURL);
});
// ======================================================
test("listen and don't listen", function() {
var stage = addStage();

View File

@@ -1057,7 +1057,8 @@ suite('Stage', function() {
});
layer.add(circle);
stage.add(layer);
assert.equal(stage.toDataURL(), layer.toDataURL());
compareCanvases(stage.toCanvas(), layer.toCanvas());
});
test('toDataURL with hidden layer', function() {