public static AnimationClock AnimatePenner( DependencyObject element, DependencyProperty prop, PennerDoubleAnimation.Equations type, double?from, double to, int durationMS, EventHandler callbackFunc) { double defaultValue = double.IsNaN((double)element?.GetValue(prop)) ? 0.0 : (double)element.GetValue(prop); PennerDoubleAnimation pennerDoubleAnimation = new PennerDoubleAnimation(type, from.GetValueOrDefault(defaultValue), to); return(Animator.Animate(element, prop, (AnimationTimeline)pennerDoubleAnimation, durationMS, new double?(), new double?(), callbackFunc)); }
public static double BounceEaseInOut(double t, double b, double c, double d) { return(t < d / 2.0 ? PennerDoubleAnimation.BounceEaseIn(t * 2.0, 0.0, c, d) * 0.5 + b : PennerDoubleAnimation.BounceEaseOut(t * 2.0 - d, 0.0, c, d) * 0.5 + c * 0.5 + b); }
public static double ExpoEaseOutIn(double t, double b, double c, double d) { return(t < d / 2.0 ? PennerDoubleAnimation.ExpoEaseOut(t * 2.0, b, c / 2.0, d) : PennerDoubleAnimation.ExpoEaseIn(t * 2.0 - d, b + c / 2.0, c / 2.0, d)); }
public static double BounceEaseIn(double t, double b, double c, double d) { return(c - PennerDoubleAnimation.BounceEaseOut(d - t, 0.0, c, d) + b); }