]> git.mjollnir.org Git - moodle.git/blob
1d9377485d884e5277668a4675957b748288e9e3
[moodle.git] /
1 package flare.animate.interpolate
2 {
3         /**
4          * Interpolator for <code>Date</code> values.
5          */
6         public class DateInterpolator extends Interpolator
7         {
8                 private var _start:Number;
9                 private var _end:Number;
10                 private var _d:Date;
11                 
12                 /**
13                  * Creates a new DateInterpolator.
14                  * @param target the object whose property is being interpolated
15                  * @param property the property to interpolate
16                  * @param start the starting date value to interpolate from
17                  * @param end the target date value to interpolate to
18                  */
19                 public function DateInterpolator(target:Object, property:String,
20                                                  start:Object, end:Object)
21                 {
22                         super(target, property, start, end);
23                 }
24                 
25                 /**
26                  * Initializes this interpolator.
27                  * @param start the starting value of the interpolation
28                  * @param end the target value of the interpolation
29                  */
30                 protected override function init(start:Object, end:Object) : void
31                 {
32                         _d = new Date();
33                         _start = (start as Date).time;
34                         _end = (end as Date).time - _start;
35                 }
36                 
37                 /**
38                  * Calculate and set an interpolated property value.
39                  * @param f the interpolation fraction (typically between 0 and 1)
40                  */
41                 public override function interpolate(f:Number) : void
42                 {
43                         _d.time = _start + f * _end;
44                         _prop.setValue(_target, _d);
45                 }
46                 
47         } // end of class DateInterpolator
48 }