IXREasingFunctionBase (Compact 2013)


This class provides the base class for all easing functions.

class IXREasingFunctionBase : public IXRDependencyObject

















Transforms normalized time to control the interpolation of an animation.


Retrieves the easing mode of the current animation.


Sets the easing mode of the current animation.

Members of this class are thread safe if you previously called IXRApplication::CreateHostFromXaml and supplied it with an XRWindowCreateParams structure that has AllowsMultipleThreadAccess set to true.

An easing function defines how an animation sequence progresses. The easing function calculates the rate of interpolation over the duration of the animation, determining the rate of change in the animation's target value.

For example, a linear interpolation looks like a straight line. In a linear interpolation, the change in the animation's target value would progress smoothly, with no fluctuations in velocity. A nonlinear interpolation looks like a curved line, where the velocity of the change in the animation's target value speeds up at the steeper areas of the curve and slows down at the flatter areas of the curve. For illustrations of the effects of different easing functions, see XREasingMode.

The animation associated with the easing function can be a storyboard or a segment between key frames. You can obtain a pointer to the easing function that an animation is using by calling the GetEasingFunction method of animation classes such as IXRDoubleAnimation, IXRColorAnimation, IXRPointAnimation, IXREasingDoubleKeyFrame, IXREasingColorKeyFrame, and IXREasingPointKeyFrame. You then have the option to change the easing mode to specify which part of the animation sequence to apply the easing function to: the beginning, the end, or both.

To set an easing function for an animation, create an instance of one of the easing functions that derive from IXREasingFunctionBase (such as IXRPowerEase) and then use the SetEasingFunction method of the animation object (such as IXRDoubleAnimation or IXREasingDoubleKeyFrame).

When you create a class instance, use an IXREasingFunctionBasePtr smart pointer instead of a raw interface pointer. For more information, see XRPtr<Interface>.

Custom easing functions are not supported in XAML for Windows Embedded.