PowerEase.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / Animation / PowerEase.cs / 1305600 / PowerEase.cs

                            //------------------------------------------------------------------------------ 
//  Copyright (c) Microsoft Corporation, 2008
//
//  File: PowerEase.cs
//----------------------------------------------------------------------------- 

namespace System.Windows.Media.Animation 
{ 
    /// 
    ///     This class implements an easing function that gives a polynomial curve of arbitrary degree. 
    ///     If the curve you desire is cubic, quadratic, quartic, or quintic it is better to use the
    ///     specialized easing functions.
    /// 
    public class PowerEase : EasingFunctionBase 
    {
        public PowerEase() 
        { 

        } 

        /// 
        /// Power Property
        ///  
        public static readonly DependencyProperty PowerProperty =
            DependencyProperty.Register( 
                    "Power", 
                    typeof(double),
                    typeof(PowerEase), 
                    new PropertyMetadata(2.0));

        /// 
        /// Specifies the power for the polynomial equation. 
        /// 
        public double Power 
        { 
            get
            { 
                return (double)GetValue(PowerProperty);
            }
            set
            { 
                SetValueInternal(PowerProperty, value);
            } 
        } 

        protected override double EaseInCore(double normalizedTime) 
        {
            double power = Math.Max(0.0, Power);
            return Math.Pow(normalizedTime, power);
        } 

        protected override Freezable CreateInstanceCore() 
        { 
            return new PowerEase();
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------ 
//  Copyright (c) Microsoft Corporation, 2008
//
//  File: PowerEase.cs
//----------------------------------------------------------------------------- 

namespace System.Windows.Media.Animation 
{ 
    /// 
    ///     This class implements an easing function that gives a polynomial curve of arbitrary degree. 
    ///     If the curve you desire is cubic, quadratic, quartic, or quintic it is better to use the
    ///     specialized easing functions.
    /// 
    public class PowerEase : EasingFunctionBase 
    {
        public PowerEase() 
        { 

        } 

        /// 
        /// Power Property
        ///  
        public static readonly DependencyProperty PowerProperty =
            DependencyProperty.Register( 
                    "Power", 
                    typeof(double),
                    typeof(PowerEase), 
                    new PropertyMetadata(2.0));

        /// 
        /// Specifies the power for the polynomial equation. 
        /// 
        public double Power 
        { 
            get
            { 
                return (double)GetValue(PowerProperty);
            }
            set
            { 
                SetValueInternal(PowerProperty, value);
            } 
        } 

        protected override double EaseInCore(double normalizedTime) 
        {
            double power = Math.Max(0.0, Power);
            return Math.Pow(normalizedTime, power);
        } 

        protected override Freezable CreateInstanceCore() 
        { 
            return new PowerEase();
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK