public void AnimateInterpolatingStroke()
        {
            SPoint StartPointInFrame0    = new SPoint(0, 0);
            SPoint StartPointInFrame10   = new SPoint(0, 10);
            SPoint EndPointInFrame0      = new SPoint(100, 0);
            SPoint EndPointInFrame10     = new SPoint(100, 10);
            var    controlPointAnimation = new AnimationStroke();
            var    s1 = StrokeFactory.CreateInterpolatingStroke(new SPoint[] { StartPointInFrame0, StartPointInFrame10 });

            controlPointAnimation.AddStrokeAsTimeDependentControlPoint(s1);
            var s2 = StrokeFactory.CreateInterpolatingStroke(new SPoint[] { EndPointInFrame0, EndPointInFrame10 });

            controlPointAnimation.AddStrokeAsTimeDependentControlPoint(s2);
            var s = new InterpolatingStroke(controlPointAnimation);

            for (int t = 0; t <= 10; t++)
            {
                Assert.IsTrue(controlPointAnimation.NextFrame());
                var currentPoints = s.ToArray();
                AssertAllPointsInHorizontalLine(currentPoints, t, 0, 100);
            }
            Assert.IsFalse(controlPointAnimation.NextFrame());
        }
 public new byte InterpolateValue(byte a, byte b, int n, int i)
 {
     return(InterpolatingStroke.InterpolateValue(a, b, n, i));
 }