diff --git a/test/unit/filters/Blur-test.js b/test/unit/filters/Blur-test.js index ce943c1d..473b558c 100644 --- a/test/unit/filters/Blur-test.js +++ b/test/unit/filters/Blur-test.js @@ -188,4 +188,70 @@ suite('Blur', function() { imageObj.src = 'assets/lion.png'; }); + // ====================================================== + test('fast blur', function (done) { + var stage = addStage(); + + var shapesLayer = new Kinetic.Layer(); + + // The important line! + shapesLayer.on('draw', function () { + var BLURAMOUNT = 10; + var imageData = this.getContext().getImageData(0,0,this.getCanvas().width,this.getCanvas().height); + var scratchData = this.getContext().createImageData(imageData); // only size copied + Kinetic.Filters.BlurX(imageData,scratchData,{blurWidth:BLURAMOUNT}); + Kinetic.Filters.BlurY(scratchData,imageData,{blurHeight:BLURAMOUNT}); + this.getContext().putImageData(imageData,0,0); + }); + + var triangle = new Kinetic.RegularPolygon({ + x: stage.getWidth() / 4, + y: stage.getHeight() / 2, + sides: 3, + radius: 80, + fillRadialGradientStartPoint: 0, + fillRadialGradientStartRadius: 0, + fillRadialGradientEndPoint: 0, + fillRadialGradientEndRadius: 70, + fillRadialGradientColorStops: [0, '#881111', 0.5, '#888811', 1, '#000088'], + stroke: 'black', + strokeWidth: 4, + draggable: true + }); + + var circle = new Kinetic.Circle({ + x: 3 * stage.getWidth() / 4, + y: stage.getHeight() / 2, + radius: 70, + fill: '#880000', + stroke: 'black', + strokeWidth: 4, + draggable: true, + id: 'myCircle' + }); + + for( var i=0; i<10; i+=1 ){ + for( var j=0; j<10; j+=1 ){ + var rect = new Kinetic.Rect({ + x: i/10*stage.getWidth(), + y: j/10*stage.getHeight(), + width: stage.getWidth()/10, + height: stage.getHeight()/10, + fill: (i+j)%2===0?'#FF0000':'#FFFF00', + stroke: 'black', + strokeWidth: 4, + draggable: true + }); + shapesLayer.add(rect); + } + } + + shapesLayer.add(circle); + shapesLayer.add(triangle); + + stage.add(shapesLayer); + + done(); + }); + }); \ No newline at end of file diff --git a/test/unit/filters/ColorPack-test.js b/test/unit/filters/ColorPack-test.js index f1c580ad..3bd1243c 100644 --- a/test/unit/filters/ColorPack-test.js +++ b/test/unit/filters/ColorPack-test.js @@ -133,4 +133,150 @@ suite('Color Pack', function() { }); -}); \ No newline at end of file + // ====================================================== + test('hue shift rainbow', function (done) { + var stage = addStage(); + + var shapesLayer = new Kinetic.Layer(); + + // The important line! + shapesLayer.on('draw', function () { + var src, dst, i, w=40; + var ctx = this.getContext(); + var ctxWidth = this.getCanvas().width/2; + var ctxHeight = this.getCanvas().height; + var xSize = Math.floor(ctxWidth/w); + var ySize = Math.floor(ctxHeight); + for( i=0; i