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