2020-05-08 22:59:35 +08:00
|
|
|
suite('FastLayer', function () {
|
2017-02-24 22:15:33 +08:00
|
|
|
// ======================================================
|
2020-05-08 22:59:35 +08:00
|
|
|
test('basic render', function () {
|
2017-02-24 22:15:33 +08:00
|
|
|
var stage = addStage();
|
2014-03-09 10:05:14 +08:00
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
var layer = new Konva.FastLayer();
|
2014-03-09 10:05:14 +08:00
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
var circle = new Konva.Circle({
|
|
|
|
x: 100,
|
|
|
|
y: stage.getHeight() / 2,
|
|
|
|
radius: 70,
|
|
|
|
fill: 'green',
|
|
|
|
stroke: 'black',
|
2020-05-08 22:59:35 +08:00
|
|
|
strokeWidth: 4,
|
2017-02-24 22:15:33 +08:00
|
|
|
});
|
2014-03-09 10:05:14 +08:00
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
layer.add(circle);
|
|
|
|
stage.add(layer);
|
|
|
|
});
|
2019-02-23 01:46:46 +08:00
|
|
|
|
2020-05-08 22:59:35 +08:00
|
|
|
test('should not throw on shape render', function () {
|
2019-02-23 01:46:46 +08:00
|
|
|
var stage = addStage();
|
|
|
|
|
|
|
|
var layer = new Konva.FastLayer();
|
|
|
|
|
|
|
|
var circle = new Konva.Circle({
|
|
|
|
x: 100,
|
|
|
|
y: stage.getHeight() / 2,
|
|
|
|
radius: 70,
|
|
|
|
fill: 'green',
|
|
|
|
stroke: 'black',
|
2020-05-08 22:59:35 +08:00
|
|
|
strokeWidth: 4,
|
2019-02-23 01:46:46 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
layer.add(circle);
|
|
|
|
stage.add(layer);
|
|
|
|
|
|
|
|
circle.draw();
|
|
|
|
});
|
2014-03-09 10:05:14 +08:00
|
|
|
|
2020-05-08 22:59:35 +08:00
|
|
|
test('transform', function () {
|
2017-02-24 22:15:33 +08:00
|
|
|
var stage = addStage();
|
2014-03-09 10:05:14 +08:00
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
var fastLayer = new Konva.FastLayer({
|
|
|
|
x: stage.width() / 2,
|
2020-05-08 22:59:35 +08:00
|
|
|
y: stage.height() / 2,
|
2014-03-09 10:05:14 +08:00
|
|
|
});
|
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
var layer = new Konva.Layer({
|
|
|
|
x: stage.width() / 2,
|
2020-05-08 22:59:35 +08:00
|
|
|
y: stage.height() / 2,
|
2017-02-24 22:15:33 +08:00
|
|
|
});
|
2015-05-05 08:03:14 +08:00
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
var circle = new Konva.Circle({
|
|
|
|
radius: 70,
|
2020-05-08 22:59:35 +08:00
|
|
|
fill: 'green',
|
2017-02-24 22:15:33 +08:00
|
|
|
});
|
2015-05-05 08:03:14 +08:00
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
fastLayer.add(circle);
|
|
|
|
layer.add(circle.clone());
|
|
|
|
stage.add(layer, fastLayer);
|
2015-05-05 08:03:14 +08:00
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
compareLayers(fastLayer, layer);
|
|
|
|
});
|
2015-05-05 08:03:14 +08:00
|
|
|
|
2020-05-08 22:59:35 +08:00
|
|
|
test('cache shape on fast layer', function () {
|
2014-03-22 15:13:05 +08:00
|
|
|
var stage = addStage();
|
2015-01-27 15:07:51 +08:00
|
|
|
var layer = new Konva.FastLayer();
|
2014-03-22 15:13:05 +08:00
|
|
|
|
2015-01-27 15:07:51 +08:00
|
|
|
var circle = new Konva.Circle({
|
2017-02-24 22:15:33 +08:00
|
|
|
x: 74,
|
|
|
|
y: 74,
|
|
|
|
radius: 70,
|
|
|
|
fill: 'green',
|
|
|
|
stroke: 'black',
|
|
|
|
strokeWidth: 4,
|
2020-05-08 22:59:35 +08:00
|
|
|
name: 'myCircle',
|
2014-03-22 15:13:05 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
layer.add(circle);
|
|
|
|
stage.add(layer);
|
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
circle
|
|
|
|
.cache({
|
2014-03-22 15:13:05 +08:00
|
|
|
x: -74,
|
|
|
|
y: -74,
|
|
|
|
width: 148,
|
2020-05-08 22:59:35 +08:00
|
|
|
height: 148,
|
2017-02-24 22:15:33 +08:00
|
|
|
})
|
|
|
|
.offset({
|
2014-03-22 15:13:05 +08:00
|
|
|
x: 74,
|
2020-05-08 22:59:35 +08:00
|
|
|
y: 74,
|
2017-02-24 22:15:33 +08:00
|
|
|
});
|
2014-03-22 15:13:05 +08:00
|
|
|
|
|
|
|
layer.draw();
|
|
|
|
});
|
2015-05-05 08:03:14 +08:00
|
|
|
});
|