mirror of
https://github.com/konvajs/konva.git
synced 2025-09-18 18:27:58 +08:00
added transform property normalization in setFill() method and also added fill transform unit tests
This commit is contained in:
@@ -233,10 +233,16 @@
|
||||
var newOrOldFillIsColor = fillType === 'COLOR' || oldFillType === 'COLOR';
|
||||
var changedFillType = fillType === oldFillType || fillType === 'UNKNOWN';
|
||||
|
||||
// if fill.offset is defined, normalize the xy value
|
||||
// normalize properties
|
||||
if(fill.offset !== undefined) {
|
||||
fill.offset = type._getXY(fill.offset);
|
||||
}
|
||||
if(fill.scale !== undefined) {
|
||||
fill.scale = type._getXY(fill.scale);
|
||||
}
|
||||
if(fill.rotationDeg !== undefined) {
|
||||
fill.rotation = type._degToRad(fill.rotationDeg);
|
||||
}
|
||||
|
||||
/*
|
||||
* merge fill objects if neither the new or old fill
|
||||
|
@@ -198,9 +198,15 @@ Test.Modules.SHAPE = {
|
||||
fill: {
|
||||
image: imageObj,
|
||||
x: -20,
|
||||
y: -20,
|
||||
//scale: {x: 0.5, y: 0.5},
|
||||
offset: {x: 219, y: 150},
|
||||
y: -30,
|
||||
scale: {
|
||||
x: 0.5,
|
||||
y: 0.5
|
||||
},
|
||||
offset: {
|
||||
x: 219,
|
||||
y: 150
|
||||
},
|
||||
rotation: Math.PI * 0.5,
|
||||
repeat: 'no-repeat'
|
||||
},
|
||||
@@ -218,6 +224,35 @@ Test.Modules.SHAPE = {
|
||||
}, layer);
|
||||
anim.start();
|
||||
*/
|
||||
|
||||
test(star.getFill().x === -20, 'star fill x should be -20');
|
||||
test(star.getFill().y === -30, 'star fill y should be -30');
|
||||
test(star.getFill().scale.x === 0.5, 'star fill scale x should be 0.5');
|
||||
test(star.getFill().scale.y === 0.5, 'star fill scale y should be 0.5');
|
||||
test(star.getFill().offset.x === 219, 'star fill offset x should be 219');
|
||||
test(star.getFill().offset.y === 150, 'star fill offset y should be 150');
|
||||
test(star.getFill().rotation === Math.PI * 0.5, 'star fill rotation should be Math.PI * 0.5');
|
||||
|
||||
star.setFill({
|
||||
rotationDeg: 180
|
||||
});
|
||||
|
||||
test(star.getFill().rotation === Math.PI, 'star fill rotation should be Math.PI');
|
||||
|
||||
star.setFill({
|
||||
scale: 1
|
||||
});
|
||||
|
||||
test(star.getFill().scale.x === 1, 'star fill scale x should be 1');
|
||||
test(star.getFill().scale.y === 1, 'star fill scale y should be 1');
|
||||
|
||||
star.setFill({
|
||||
offset: [100, 120]
|
||||
});
|
||||
|
||||
test(star.getFill().offset.x === 100, 'star fill offset x should be 100');
|
||||
test(star.getFill().offset.y === 120, 'star fill offset y should be 120');
|
||||
|
||||
};
|
||||
imageObj.src = '../assets/darth-vader.jpg';
|
||||
}
|
||||
|
Reference in New Issue
Block a user