| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | 
							- <!DOCTYPE html>
 
- <html>
 
- <head>
 
-     <title>Easings</title>
 
-     <script src="../dev-lib/sea.js"></script>
 
-     <script>
 
-         seajs.config({
 
-             base: '../src'
 
-         });
 
-         define('start', function (require) {
 
-             var Paper = require('graphic/paper');
 
-             var Group = require('graphic/group');
 
-             var Path = require('graphic/path');
 
-             var Color = require('graphic/color');
 
-             var Text = require('graphic/text');
 
-             var Matrix = require('graphic/matrix');
 
-             var Animator = require('animate/animator');
 
-             var easingTable = require('animate/easing');
 
-             var YMarker = require('core/class').createClass({
 
-                 base: Path,
 
-                 constructor: function( x, w, h ) {
 
-                     this.callBase();
 
-                     this.draw( x, w, h );
 
-                 },
 
-                 draw: function( x, w, h ) {
 
-                     var drawer = this.getDrawer();
 
-                     var hh = h / 2;
 
-                     drawer.moveTo( x, 0 );
 
-                     drawer.lineTo( x + hh, hh );
 
-                     drawer.lineTo( x + w, hh );
 
-                     drawer.lineTo( x + w, -hh );
 
-                     drawer.lineTo( x + hh, -hh );
 
-                     drawer.close();
 
-                 },
 
-                 mark: function( y ) {
 
-                     this.setTransform(new Matrix().translate(0, y));
 
-                 }
 
-             });
 
-             var MarkerAnimator = require('core/class').createClass({
 
-                 base: Animator,
 
-                 constructor: function( beginValue, finishValue ) {
 
-                     this.callBase( beginValue, finishValue, function( marker, value ) {
 
-                         marker.mark( value );
 
-                     } );
 
-                 }
 
-             });
 
-             var EasingGraph = require('core/class').createClass({
 
-                 base: Paper,
 
-                 constructor: function( container, easing ) {
 
-                     this.callBase(container);
 
-                     this.setViewBox(0, 0, 200, 120);
 
-                     var x = [0, 150], y = [30, 90];
 
-                     this.draw( easing, x, y );
 
-                     this.bind( easing, x, y );
 
-                 },
 
-                 draw: function( easing, x, y ) {
 
-                     this.coordinate = new Group().setAnchor(0, 60).scale(1, -1); // flip over y-alix
 
-                     this.coordinate.addShape(new Path().pipe(function() {
 
-                         var d = this.getDrawer();
 
-                         d.moveTo(x[0], y[0]).lineTo(x[1], y[0]);
 
-                         d.moveTo(x[0], y[1]).lineTo(x[1], y[1]);
 
-                         this.fill('none')
 
-                         this.stroke('#CCC')
 
-                     }));
 
-                     this.coordinate.addShape(new Path().pipe(function() {
 
-                         var d = this.getDrawer();
 
-                         d.moveTo(x[0], y[0]);
 
-                         for(var t = x[0]; t <= x[1]; t += 1) {
 
-                             d.lineTo(t, easing(t, y[0], y[1] - y[0], x[1] - x[0]));
 
-                         }
 
-                         this.fill('none');
 
-                         this.stroke('red');
 
-                     }));
 
-                     this.addShape(this.coordinate);
 
-                 },
 
-                 bind: function( easing, x, y ) {
 
-                     var marker = new YMarker( x[1] + 5, 25, 10 );
 
-                     marker.mark( y[0] );
 
-                     this.coordinate.addShape( marker );
 
-                     marker.fill('none');
 
-                     var animator = new MarkerAnimator( y[0], y[1] );
 
-                     var timeline = animator.create( marker, 1000, easing );
 
-                     var animateTimeout;
 
-                     this.on('mouseover', function() {
 
-                         marker.fill('red');
 
-                         timeline.play();
 
-                     });
 
-                     this.on('mouseout', function() {
 
-                         marker.fill('none');
 
-                         timeline.stop();
 
-                         timeline.reset();
 
-                     });
 
-                 }
 
-             });
 
-             
 
-             for(var name in easingTable) {
 
-                 var div = document.createElement('div');
 
-                 var graph = new EasingGraph( div, easingTable[name] );
 
-                 graph.setWidth(200);
 
-                 graph.setHeight(120);
 
-                 document.body.appendChild(div);
 
-                 div.appendChild(document.createTextNode(name));
 
-             }
 
-             
 
-         });
 
-         seajs.use('start');
 
-     </script>
 
-     <style>
 
-         div {
 
-             width: 200px;
 
-             height: 150px;
 
-             float: left;
 
-             color: blue;
 
-         }
 
-     </style>
 
- </head>
 
- <body>
 
-     
 
- </body>
 
- </html>
 
 
  |