// Copyright (c) The Avalonia Project. All rights reserved. // Licensed under the MIT license. See licence.md file in the project root for full license information. using System; namespace Avalonia.Animation.Animators { /// /// Animator that handles properties. /// public class Int32Animator : Animator { const double maxVal = (double)Int32.MaxValue; /// public override Int32 Interpolate(double progress, Int32 oldValue, Int32 newValue) { var normOV = oldValue / maxVal; var normNV = newValue / maxVal; var deltaV = normNV - normOV; return (Int32)Math.Round(maxVal * ((deltaV * progress) + normOV)); } } }