mirror of
https://github.com/konvajs/konva.git
synced 2025-09-18 18:27:58 +08:00
Merge branch 'master' of https://github.com/ericdrowell/KineticJS
This commit is contained in:
@@ -33,4 +33,54 @@ suite('Manual', function() {
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
// ======================================================
|
||||
test('tween spline', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Kinetic.Layer();
|
||||
|
||||
var spline = new Kinetic.Line({
|
||||
points: [
|
||||
73, 160,
|
||||
340, 23,
|
||||
500, 109,
|
||||
300, 109
|
||||
],
|
||||
stroke: 'blue',
|
||||
strokeWidth: 10,
|
||||
lineCap: 'round',
|
||||
lineJoin: 'round',
|
||||
draggable: true,
|
||||
tension: 1
|
||||
});
|
||||
|
||||
layer.add(spline);
|
||||
stage.add(layer);
|
||||
|
||||
var tween = new Kinetic.Tween({
|
||||
node: spline,
|
||||
duration: 1,
|
||||
//x: 100,
|
||||
|
||||
points: [
|
||||
200, 160,
|
||||
200, 23,
|
||||
500, 109,
|
||||
100, 10
|
||||
],
|
||||
easing: Kinetic.Easings.BackEaseOut,
|
||||
yoyo: true
|
||||
});
|
||||
|
||||
// stage.getContent().addEventListener('mouseover', function() {
|
||||
// tween.play();
|
||||
// });
|
||||
|
||||
// stage.getContent().addEventListener('mouseout', function() {
|
||||
// tween.reverse();
|
||||
// });
|
||||
|
||||
tween.play();
|
||||
});
|
||||
});
|
@@ -97,8 +97,7 @@
|
||||
_context.closePath();
|
||||
_context.fillStyle = 'red';
|
||||
_context.fill();
|
||||
},
|
||||
listening: false
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
|
@@ -16,7 +16,7 @@
|
||||
|
||||
<script src="../../dist/kinetic-dev.js"></script>
|
||||
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
|
||||
<script src="lib/stats.js"></script>
|
||||
<script src="../lib/stats.js"></script>
|
||||
<script src="common/random-squares.js"></script>
|
||||
|
||||
</body>
|
||||
|
@@ -15,7 +15,7 @@
|
||||
<div id="container"></div>
|
||||
<script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v3.6.2.js"></script>
|
||||
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
|
||||
<script src="lib/stats.js"></script>
|
||||
<script src="../lib/stats.js"></script>
|
||||
<script src="common/random-squares.js"></script>
|
||||
</body>
|
||||
</html>
|
@@ -16,7 +16,7 @@
|
||||
|
||||
<script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.7.4.js"></script>
|
||||
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
|
||||
<script src="lib/stats.js"></script>
|
||||
<script src="../lib/stats.js"></script>
|
||||
<script src="common/random-squares.js"></script>
|
||||
|
||||
</body>
|
||||
|
@@ -30,7 +30,9 @@
|
||||
|
||||
<script src="../node_modules/mocha/mocha.js"></script>
|
||||
<script src="../node_modules/chai/chai.js"></script>
|
||||
<script src="lib/stats.js"></script>
|
||||
<script src="../dist/kinetic-dev.js"></script>
|
||||
<!--<script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.7.4.js"></script>-->
|
||||
<script src="runner.js"></script>
|
||||
|
||||
<!-- assets -->
|
||||
|
@@ -7,6 +7,17 @@ var assert = chai.assert,
|
||||
assertionCount = 0,
|
||||
assertions = document.createElement('em');
|
||||
|
||||
window.requestAnimFrame = (function(callback){
|
||||
return window.requestAnimationFrame ||
|
||||
window.webkitRequestAnimationFrame ||
|
||||
window.mozRequestAnimationFrame ||
|
||||
window.oRequestAnimationFrame ||
|
||||
window.msRequestAnimationFrame ||
|
||||
function(callback){
|
||||
window.setTimeout(callback, 1000 / 30);
|
||||
};
|
||||
})();
|
||||
|
||||
function init() {
|
||||
// assert extenders so that we can count assertions
|
||||
assert = function() {
|
||||
@@ -38,6 +49,8 @@ function init() {
|
||||
mochaStats.appendChild(li);
|
||||
}
|
||||
}
|
||||
|
||||
addStats();
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +58,28 @@ function init() {
|
||||
|
||||
Kinetic.enableTrace = true;
|
||||
|
||||
function addStats() {
|
||||
stats = new Stats();
|
||||
stats.setMode(0);
|
||||
stats.domElement.style.position = 'fixed';
|
||||
stats.domElement.style.left = '0px';
|
||||
stats.domElement.style.top = '0px';
|
||||
document.getElementsByTagName('body')[0].appendChild( stats.domElement );
|
||||
|
||||
|
||||
function animate(lastTime){
|
||||
stats.begin();
|
||||
|
||||
requestAnimFrame(function(){
|
||||
stats.end();
|
||||
animate(lastTime);
|
||||
});
|
||||
}
|
||||
|
||||
animate();
|
||||
}
|
||||
|
||||
|
||||
|
||||
function addStage() {
|
||||
var container = document.createElement('div'),
|
||||
|
@@ -1354,4 +1354,43 @@ suite('Container', function() {
|
||||
|
||||
layer.draw();
|
||||
});
|
||||
|
||||
// ======================================================
|
||||
test('Kinetic.enableNestedTransforms flag', function(){
|
||||
var stage = addStage();
|
||||
|
||||
var layer = new Kinetic.Layer();
|
||||
|
||||
var rect = new Kinetic.Rect({
|
||||
x: 100,
|
||||
y: 50,
|
||||
width: 100,
|
||||
height: 50,
|
||||
fill: 'green',
|
||||
stroke: 'blue'
|
||||
});
|
||||
|
||||
layer.add(rect);
|
||||
stage.add(layer);
|
||||
|
||||
assert.equal(rect.getX(), 100);
|
||||
assert.equal(rect.getY(), 50);
|
||||
|
||||
var trace = layer.getContext().getTrace();
|
||||
//console.log(trace);
|
||||
assert.equal(trace, 'clearRect(0,0,578,200);save();transform(1,0,0,1,100,50);beginPath();rect(0,0,100,50);closePath();fillStyle=green;fill();lineWidth=2;strokeStyle=blue;stroke();restore();');
|
||||
|
||||
var relaxedTrace = layer.getContext().getTrace(true);
|
||||
//console.log(relaxedTrace);
|
||||
assert.equal(relaxedTrace, 'clearRect();save();transform();beginPath();rect();closePath();fillStyle;fill();lineWidth;strokeStyle;stroke();restore();');
|
||||
|
||||
assert.equal(stage._enableNestedTransforms, false, 'enableNestedTransforms should be false');
|
||||
|
||||
// changing any container transform property should permanately set the _enableNestedTransforms flag to true
|
||||
layer.setX(1);
|
||||
layer.setX(0);
|
||||
|
||||
assert.equal(stage._enableNestedTransforms, true, 'enableNestedTransforms should be true');
|
||||
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user