UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

129 lines (118 loc) 4.09 kB
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" > <head> <title>Testing animation</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> @import "../../../dojo/resources/dojo.css"; @import "../../../dijit/tests/css/dijitTests.css"; </style> <script type="text/javascript" src="../../../dojo/dojo.js" data-dojo-config="isDebug: true"></script> <!-- <script type="text/javascript" src="../_base.js"></script> <script type="text/javascript" src="../shape.js"></script> <script type="text/javascript" src="../path.js"></script> <script type="text/javascript" src="../arc.js"></script> <script type="text/javascript" src="../fx.js"></script> --> <!--<script type="text/javascript" src="../vml.js"></script>--> <!--<script type="text/javascript" src="../svg.js"></script>--> <!--<script type="text/javascript" src="../canvas.js"></script>--> <!--<script type="text/javascript" src="../silverlight.js"></script>--> <script type="text/javascript"> dojo.require("dojox.gfx"); dojo.require("dojox.gfx.fx"); dojo.require("dojo.colors"); var rect, text; function createSurface(){ var surface = dojox.gfx.createSurface("test", 500, 500); surface.whenLoaded(makeShapes); }; function makeShapes(surface){ rect = surface.createRect({x: 100, y: 100, width: 300, height: 300}). setFill("yellow").setStroke({ color: "green", width: 5, join: "round" }); text = surface.createText({x: 250, y: 250, text: "Hello!", align: "middle"}) .setFill("black").setFont({family: "serif", size: "10pt"}); }; dojo.addOnLoad(createSurface); var animateStroke = function(){ var anim = dojox.gfx.fx.animateStroke({ duration: 5000, shape: rect, color: {start: "green", end: "red"}, width: {start: 5, end: 15}, join: {values: ["bevel", "round"]} }); dojo.byId("stroke").disabled = "disabled"; dojo.connect(anim, "onEnd", function(){ dojo.byId("stroke").disabled = ""; }); anim.play(); }; var animateFill = function(){ var anim = dojox.gfx.fx.animateFill({ duration: 5000, shape: rect, color: {start: "yellow", end: "blue"} }); dojo.byId("fill").disabled = "disabled"; dojo.connect(anim, "onEnd", function(){ dojo.byId("fill").disabled = ""; }); anim.play(); }; var animateFont = function(){ var anim = dojox.gfx.fx.animateFont({ duration: 5000, shape: text, variant: {values: ["normal", "small-caps"]}, size: {start: 10, end: 50, units: "pt"} }); dojo.byId("font").disabled = "disabled"; dojo.connect(anim, "onEnd", function(){ dojo.byId("font").disabled = ""; }); anim.play(); }; var animateTransform = function(){ var anim = dojox.gfx.fx.animateTransform({ duration: 5000, shape: text, transform: [ {name: "rotategAt", start: [0, 250, 250], end: [360, 350, 350]}, {name: "translate", start: [0, 0], end: [100, 100]} ] }); dojo.byId("transform").disabled = "disabled"; dojo.connect(anim, "onEnd", function(){ dojo.byId("transform").disabled = ""; }); anim.play(); }; var animateMatrix = function(){ var customMatrix = dojox.gfx.matrix.multiply([dojox.gfx.matrix.rotategAt(-90,250,250),dojox.gfx.matrix.translate(100,100),dojox.gfx.matrix.scaleAt(2,250,250)]); var anim = dojox.gfx.fx.animateTransform({ duration: 5000, shape: text, transform: [ {name: "matrix", start: dojox.gfx.matrix.identity, end: customMatrix} ] }); dojo.byId("matrix").disabled = "disabled"; dojo.connect(anim, "onEnd", function(){ dojo.byId("matrix").disabled = ""; }); anim.play(); }; </script> </head> <body> <h1>Testing animation</h1> <p> <button id="stroke" onclick="animateStroke();">Stroke</button> &nbsp; <button id="fill" onclick="animateFill();">Fill</button> &nbsp; <button id="font" onclick="animateFont();">Font</button> &nbsp; <button id="transform" onclick="animateTransform();">Transform (predefined primitives)</button> &nbsp; <button id="matrix" onclick="animateMatrix();">Transform (raw matrix)</button> </p> <div id="test" style="width: 500px; height: 500px;"></div> <p>That's all Folks!</p> </body> </html>