Defines an animation timer, which provides services for managing animation timing.
A timer helps to manage animation rendering by automatically indicating the passage of a small unit of time, called a tick. In turn, ticks can trigger animation rendering or other animation events. Each animation timer provides timing for a single animation manager.
The timing system is designed to provide the necessary timing services needed to support animations and does not require applications to play an explicit role in generating the ticks. The animation timer can be set up to automatically update the animation manager for each tick without application-side handling.
An application may not need to use a timer with Windows Animation, depending on the graphics platform it is using. For example, an application drawing with Direct2D or Direct3D can synchronize to monitor's refresh rate, yielding very smooth animation. However, such applications may still find the
Specifies a timer update handler.
A timer update handler, or
A member of
If the method succeeds, it returns
The timer update handler receives time updates (ticks) from the timer. The timer indicates an update by calling the
Passing
Specifies a timer event handler.
A timer event handler. The specified object must implement the
If the method succeeds, it returns
Timing events include the OnPreUpdate, OnPostUpdate, and OnRenderingTooSlow methods of the
Passing
Enables the animation timer.
If the method succeeds, it returns
Disables the animation timer.
If the method succeeds, it returns
Determines whether the timer is currently enabled.
Returns
Gets the current time.
The current time, in UI_ANIMATION_SECONDS.
If the method succeeds, it returns
This method can be used in both the application-driven and timer-driven configurations to retrieve the system time in UI_ANIMATION_SECONDS, the units used throughout the Windows Animation API.
Sets the frame rate below which the timer notifies the application that rendering is too slow.
The minimum desirable frame rate, in frames per second.
If the method succeeds, it returns
If the rendering frame rate for an animation falls below the specified frame rate, an
Determines whether the timer is currently enabled.
Gets the current time.
This method can be used in both the application-driven and timer-driven configurations to retrieve the system time in UI_ANIMATION_SECONDS, the units used throughout the Windows Animation API.
Sets the frame rate below which the timer notifies the application that rendering is too slow.
If the rendering frame rate for an animation falls below the specified frame rate, an
Defines a transition, which determines how an animation variable changes over time.
UIAnimationTransitionLibrary implements a library of standard transitions.
Sets the initial value for the transition.
The initial value for the transition.
If the method succeeds, it returns
This method should not be called after the transition has been added to a storyboard.
Sets the initial velocity for the transition.
The initial velocity for the transition.
If the method succeeds, it returns
This method should not be called after the transition has been added to a storyboard.
Determines whether a transition's duration is currently known.
Returns
Return code | Description |
---|---|
| The storyboard for this transition is currently in schedule. |
?
This method should not be called when the storyboard to which the transition has been added is scheduled or playing.
Gets the duration of the transition.
The duration of the transition, in seconds.
If the method succeeds, it returns
Return code | Description |
---|---|
| The requested value for the duration cannot be determined. |
| The storyboard for this transition is currently in the schedule. |
?
An application should typically call the
Determines whether a transition's duration is currently known.
Sets the initial value for the transition.
This method should not be called after the transition has been added to a storyboard.
Sets the initial velocity for the transition.
This method should not be called after the transition has been added to a storyboard.
Gets the duration of the transition.
An application should typically call the
Defines a library of standard transitions.
Windows Animation includes a library of common transitions that developers can apply to variables through a storyboard. The parameters for specifying a transition depend on the type of transition. For some transitions, the duration of the transition is an explicit parameter; for others, the duration is determined by other parameters, such as speed or acceleration when the transition begins. A transition's initial value or velocity can be overridden if a discontinuous jump is desired, and duration can be queried after the transition is added to a storyboard.
If an application requires an effect that cannot be specified using the transition library, developers can implement custom transitions. A custom transition is created by first implementing the interpolator function for the transition, and then by using a factory object to generate transitions from interpolators. An interpolator must implement the
Creates an instantaneous transition.
The value of the animation variable at the end of the transition.
The new instantaneous transition.
During an instantaneous transition, the value of the animation variable changes instantly from its current value to a specified final value. The duration of this transition is always zero.
The figure below shows the effect on an animation variable over time during an instantaneous transition.
Creates a constant transition.
The duration of the transition.
The new constant transition.
During a constant transition, the value of an animation variable remains at the initial value over the duration of the transition.
The figure below shows the effect on an animation variable over time during a constant-duration transition.
Creates a discrete transition.
The amount of time by which to delay the instantaneous switch to the final value.
The value of the animation variable at the end of the transition.
The amount of time by which to hold the variable at its final value.
The new discrete transition.
During a discrete transition, the animation variable remains at the initial value for a specified delay time, then switches instantaneously to a specified final value and remains at that value for a given hold time.
The figure below shows the effect on an animation variable over time during a discrete transition.
Creates a linear transition.
The duration of the transition.
The value of the animation variable at the end of the transition.
The new linear transition.
During a linear transition, the value of the animation variable transitions linearly from its initial value to a specified final value.
The figure below shows the effect on an animation variable over time during a linear transition.
Creates a linear-speed transition.
The absolute value of the velocity.
The value of the animation variable at the end of the transition.
The new linear-speed transition.
During a linear-speed transition, the value of the animation variable changes at a specified rate. The duration of the transition is determined by the difference between the initial value and the specified final value.
The figure below shows the effect on an animation variable over time during a linear-speed transition.
Creates a sinusoidal-velocity transition, with an amplitude determined by the initial velocity.
The duration of the transition.
The period of oscillation of the sinusoidal wave in seconds.
The new sinusoidal-velocity transition.
The value of the animation variable oscillates around the initial value over the entire duration of a sinusoidal-range transition. The amplitude of the oscillation is determined by the velocity when the transition begins.
The figure below shows the effect on an animation variable over time during a sinusoidal-velocity transition.
Creates a sinusoidal-range transition, with a specified range of oscillation.
The duration of the transition.
The value of the animation variable at a trough of the sinusoidal wave.
The value of the animation variable at a peak of the sinusoidal wave.
The period of oscillation of the sinusoidal wave, in seconds.
The slope at the start of the transition.
The new sinusoidal-range transition.
The value of the animation variable fluctuates between the specified minimum and maximum values over the entire duration of a sinusodial-range transition. The slope parameter is used to disambiguate between the two possible sine waves specified by the other parameters.
The figure below shows the effect on an animation variable over time during a sinusoidal-range transition. Passing in the
Creates an accelerate-decelerate transition.
The duration of the transition.
The value of the animation variable at the end of the transition.
The ratio of the time spent accelerating to the duration.
The ratio of the time spent decelerating to the duration.
The new accelerate-decelerate transition.
During an accelerate-decelerate transition, the animation variable speeds up and then slows down over the duration of the transition, ending at a specified value. You can control how quickly the variable accelerates and decelerates independently, by specifying different acceleration and deceleration ratios.
When the initial velocity is zero, the acceleration ratio is the fraction of the duration that the variable will spend accelerating; likewise with the deceleration ratio. If the initial velocity is nonzero, it is the fraction of the time between the velocity reaching zero and the end of transition. The acceleration ratio and the deceleration ratio should sum to a maximum of 1.0.
The figures below show the effect on animation variables with different initial velocities during accelerate-decelerate transitions.
Note??d' in the above figure on the right shows the time between the velocity reaching zero and the end of the transition.
Creates a reversal transition.
The duration of the transition.
The new reversal transition.
A reversal transition smoothly changes direction over the specified duration. The final value will be the same as the initial value and the final velocity will be the negative of the initial velocity. The figure below shows such a reversal transition.
Creates a cubic transition.
The duration of the transition.
The value of the animation variable at the end of the transition.
The velocity of the variable at the end of the transition.
The new cubic transition.
During a cubic transition, the value of the animation variable changes from its initial value to a specified final value over the duration of the transition, ending at a specified velocity.
The figure below shows the effect on an animation variable over time during a cubic transition.
Creates a smooth-stop transition.
The maximum duration of the transition.
The value of the animation variable at the end of the transition.
The new smooth-stop transition.
A smooth-stop transition slows down as it approaches the specified final value, and reaches it with a velocity of zero. The duration of the transition is determined by the initial velocity, the difference between the initial and final values, and the specified maximum duration. If there is no solution consisting of a single parabolic arc, this method creates a cubic transition.
The figure below shows the effect on an animation variable over time during a smooth-stop transition.
Creates a parabolic-acceleration transition.
The value of the animation variable at the end of the transition.
The velocity at the end of the transition.
The acceleration during the transition.
The new parabolic-acceleration transition.
During a parabolic-acceleration transition, the value of the animation variable changes from the initial value to the final value ending at the specified velocity. You can control how quickly the variable reaches the final value by specifying the rate of acceleration.
The figure below shows the effect on an animation variable over time during a parabolic-acceleration transition.
Defines a method for priority comparison that the animation manager uses to resolve scheduling conflicts.
A single animation variable can be included in multiple storyboards, but multiple storyboards cannot animate the same variable at the same time. If a newly scheduled storyboard attempts to animate one or more variables that are currently scheduled for animation by different storyboards, a scheduling conflict occurs. To determine which storyboard has priority, the animation manager can call HasPriority on one or more priority comparison handlers provided by the application.
Defines which aspects of an interpolator depend on a given input.
Multiple
No aspect depends on the input.
The intermediate values depend on the input.
The final value depends on the input.
The final velocity depends on the input.
The duration depends on the input.
Defines the behavior of a timer when the animation manager is idle.
The timer continues to generate timer events (is enabled) when the animation manager is idle.
The timer is suspended (disabled) when the animation manager is idle.
Defines the activity status of an animation manager.
The animation manager is idle; no animations are currently playing.
The animation manager is busy; at least one animation is currently playing or scheduled.
Defines animation modes.
Animation is disabled.
The animation mode is managed by the system.
Animation is enabled.
Defines potential effects on a storyboard if a priority comparison returns false.
This enumeration is used as the priorityEffect parameter of
This enumeration can help an application decide how aggressive to be about reducing latency in the UI. For example, if the application returns true when the effect is
This storyboard might not be successfully scheduled.
The storyboard will be scheduled, but might start playing later.
Defines the pattern for a loop iteration.
The start of a loop begins with the first value (v1->v2, v1->v2, v1->v2, and so on).
The start of a loop alternates between values (v1->v2, v2->v1, v1->v2, and so on).
Defines the rounding modes to be used when the value of an animation variable is converted from a floating-point type to an integer type.
Round to the nearest integer.
Round down.
Round up.
Defines results for storyboard scheduling.
Scheduling failed for an unexpected reason.
Scheduling failed because a scheduling conflict occurred and the currently scheduled storyboard has higher priority. For more information, see
Scheduling failed because the storyboard is already scheduled.
Scheduling succeeded.
Scheduling is deferred and will be attempted when the current callback completes.
Defines animation slope characteristics.
An increasing slope.
A decreasing slope.
Defines the status for a storyboard.
Unless
All status values can be passed to
The following diagram illustrates the transitions between these states.
The storyboard has never been scheduled.
The storyboard is scheduled to play.
The storyboard was canceled.
The storyboard is currently playing.
The storyboard was truncated.
The storyboard has finished playing.
The storyboard is built and ready for scheduling.
Scheduling the storyboard failed because a scheduling conflict occurred and the currently scheduled storyboard has higher priority.
Defines activity status for a timer's client.
The client is idle.
The client is busy.
Defines results for animation updates.
No animation variables have changed.
One or more animation variables has changed.
Defines methods for creating a custom interpolator.
Client applications can use the transitions provided in
Before Windows Animation can use your custom interpolator, you must wrap it in an object that implements
Custom interpolators can be reused across applications, but it is recommended that they be exposed using factory interfaces that return
Sets the initial value and velocity at the start of the transition.
The initial value.
The initial velocity.
If the method succeeds, it returns
Windows Animation always calls SetInitialValueAndVelocity before calling the other methods of
Sets the duration of the transition.
The duration of the transition.
If the method succeeds, it returns
Windows Animation calls this method only after calling the GetDependencies method, and only if that call returns
Typically, an interpolator with a duration dependency will have a duration parameter in its associated creation method of
Windows Animation always calls the SetInitialValueAndVelocity method to set the initial value and velocity before calling SetDuration, so a custom interpolator need not check whether the initial value and velocity have been set.
Windows Animation can call SetInitialValueAndVelocity and SetDuration multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to SetDuration reflect the updated state.
Gets the duration of a transition.
The duration of the transition.
If the method succeeds, it returns
Windows Animation always calls the SetInitialValueAndVelocity method to set the initial value and velocity before calling GetDuration, so a custom interpolator need not check whether the initial value and velocity have been set.
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to GetDuration reflect the updated state.
Gets the final value at the end of the transition.
The final value.
If the method succeeds, it returns
Windows Animation always calls the SetInitialValueAndVelocity method to set the initial value and velocity before calling GetFinalValue, so a custom interpolator need not check whether the initial value and velocity have been set.
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to GetFinalValue reflect the updated state.
Interpolates the value of an animation variable at the specified offset.
The offset from the start of the transition.
This parameter is always greater than or equal to zero and less than the duration of the transition. This method is not called if the duration of the transition is zero.
The interpolated value.
Windows Animation always calls the SetInitialValueAndVelocity method to set the initial value and velocity before calling InterpolateValue, so a custom interpolator need not check whether the initial value and velocity have been set.
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to InterpolateValue reflect the updated state.
Interpolates the velocity, or rate of change, at the specified offset.
The offset from the start of the transition.
The offset is always greater than or equal to zero and less than or equal to the duration of the transition. This method is not called if the duration of the transition is zero.
The interpolated velocity.
Windows Animation always calls the SetInitialValueAndVelocity method to set the initial value and velocity before calling InterpolateVelocity, so a custom interpolator need not check whether the initial value and velocity have been set.
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to InterpolateVelocity reflect the updated state.
Gets the aspects of the interpolator that depend on the initial value or velocity passed to SetInitialValueAndVelocity, or that depend on the duration passed to SetDuration.
If the method succeeds, it returns
This method is called to identify which aspects of the custom interpolator are affected by certain inputs: value, velocity, and duration. For each of these inputs, the interpolator returns either of the following:
For example, consider an interpolator (1) that accepts a final value as a parameter, (2) that always comes to a gradual stop at that final value, and (3) whose duration is determined by the difference between the final and initial values. The interpolator should return
It is important that an interpolator return correct set of flags. If a flag is not present for an output, Windows Animation assumes that the corresponding parameter does not affect that aspect of the interpolator's results. For example, if the custom interpolator does not include
Note??If the flags returned for durationDependencies do not include
Gets or sets the duration of a transition.
Windows Animation always calls the SetInitialValueAndVelocity method to set the initial value and velocity before calling GetDuration, so a custom interpolator need not check whether the initial value and velocity have been set.
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to GetDuration reflect the updated state.
Gets the final value at the end of the transition.
Windows Animation always calls the SetInitialValueAndVelocity method to set the initial value and velocity before calling GetFinalValue, so a custom interpolator need not check whether the initial value and velocity have been set.
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to GetFinalValue reflect the updated state.
Extends the
Client applications can use the transitions provided in the
Before Windows Animation can use your custom interpolator, you must wrap it in an object that implements the
Custom interpolators can be reused across applications, but it is recommended that they be exposed using factory interfaces that return an
Gets the number of dimensions that require interpolation.
The number of dimensions.
If this method succeeds, it returns
Sets the initial value and velocity of the transition for the given dimension.
The initial value.
The initial velocity.
The dimension in which to set the initial value or velocity of the transition.
Returns
Windows Animation always calls SetInitialValueAndVelocity before calling the other methods of
Sets the duration of the transition in the given dimension.
The duration of the transition.
Returns
Windows Animation calls this method only after calling the
Typically, an interpolator with a duration dependency has a duration parameter in the
Windows Animation always calls the
Windows Animation can call SetInitialValueAndVelocity and SetDuration multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to SetDuration reflect the updated state.
Gets the duration of a transition for the given dimension.
The duration of the transition.
If this method succeeds, it returns
Windows Animation always calls the
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to GetDuration reflect the updated state.
Gets the final value at the end of the transition for the given dimension.
The final value.
The dimension from which to retrieve the final value.
If this method succeeds, it returns
Windows Animation always calls the
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to GetFinalValue reflect the updated state.
Interpolates the value of an animation variable at the specified offset and for the given dimension.
The offset from the start of the transition.
This parameter is always greater than or equal to zero and less than the duration of the transition. This method is not called if the duration of the transition is zero.
The interpolated value.
The dimension in which to interpolate the value.
If this method succeeds, it returns
Windows Animation always calls the
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to InterpolateValue reflect the updated state.
Interpolates the velocity, or rate of change, at the specified offset for the given dimension.
The offset from the start of the transition.
The offset is always greater than or equal to zero and less than or equal to the duration of the transition. This method is not called if the duration of the transition is zero.
The interpolated velocity.
The dimension in which to interpolate the velocity.
If this method succeeds, it returns
Windows Animation always calls the
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to InterpolateVelocity reflect the updated state.
Generates a primitive interpolation of the specified animation curve.
The object that defines the custom animation curve information.
The dimension in which to apply the new segment.
If this method succeeds, it returns
For the given dimension, GetDependencies retrieves the aspects of the interpolator that depend on the initial value or velocity that is passed to the
If this method succeeds, it returns
This method is called to identify which aspects of the custom interpolator are affected by certain inputs: value, velocity, and duration. For each of these inputs, the interpolator returns either of the following:
For example, consider an interpolator that:
In this case the interpolator should return
It is important that an interpolator return a correct set of flags. If a flag is not present for an output, Windows Animation assumes that the corresponding parameter does not affect that aspect of the interpolator's results. For example, if the custom interpolator does not include
Note??If the flags returned for durationDependencies do not include
Gets the number of dimensions that require interpolation.
Gets or sets the duration of a transition for the given dimension.
Windows Animation always calls the
Windows Animation can call SetInitialValueAndVelocity multiple times with different parameters. Interpolators can cache internal state to improve performance, but they must update this cached state each time SetInitialValueAndVelocity is called and ensure that the results of subsequent calls to GetDuration reflect the updated state.
Defines a method for handling storyboard loop iteration events.
Defines the animation manager, which provides a central interface for creating and managing animations.
Creates a new animation variable.
The initial value for the new animation variable.
The new animation variable.
If the method succeeds, it returns
The initial value of an animation variable is specified when the variable is created. After an animation variable is created, its value cannot be changed directly; it must be updated through the animation manager.
An animation variable is typically created to represent each visual characteristic that is to be animated. For example, an application might create two animation variables for the X and Y coordinates of an object that can move freely within a window.
Creates and schedules a single-transition storyboard.
The animation variable.
A transition to be applied to the animation variable.
The current system time.
If the method succeeds, it returns
This method schedules a new storyboard by creating the storyboard, applying the specified transition to the specified variable, and then scheduling the storyboard.
Creates a new storyboard.
The new storyboard.
If the method succeeds, it returns
Storyboards can specify complex coordinated updates to many animation variables. These updates happen in sequence or in parallel, and they are guaranteed to remain synchronized within the storyboard. A storyboard is created, populated with transitions on animation variables, and then scheduled.
Finishes all active storyboards within the specified time interval.
The maximum time interval during which all storyboards must be finished.
If the method succeeds, it returns
Calling FinishAllStoryboards ensures that all active storyboards finish within the specified completion deadline. If a storyboard is scheduled to play past the deadline, it is compressed. A storyboard is considered active if its status is
Abandons all active storyboards.
If the method succeeds, it returns
Calling this method is equivalent to calling the
Updates the values of all animation variables.
The current system time. This parameter must be greater than or equal to 0.0.
The result of the update. This parameter can be omitted from calls to this method.
Calling this method advances the animation manager to timeNow, changing statuses of storyboards as necessary and updating any animation variables to appropriate interpolated values. If the animation manager is paused, no storyboards or variables are updated. If the animation mode is
Gets the animation variable with the specified tag.
The object portion of the tag. This parameter can be
The identifier portion of the tag.
The animation variable that matches the specified tag, or
A tag is a pairing of an integer identifier (id) with a COM object (object). An application can use tags to identify animation variables and storyboards.
Tags are not necessarily unique; this method returns UI_E_AMBIGUOUS_MATCH if more than one animation variable exists with the specified tag.
Gets the storyboard with the specified tag.
The object portion of the tag. This parameter can be
The identifier portion of the tag.
The storyboard that matches the specified tag, or
A tag is a pairing of an integer identifier (id) with a COM object (object). An application can use tags to identify animation variables and storyboards.
Tags are not necessarily unique; this method returns UI_E_AMBIGUOUS_MATCH if more than one storyboard exists with the specified tag.
Gets the status of the animation manager.
The status.
If the method succeeds, it returns
Sets the animation mode.
The animation mode.
If the method succeeds, it returns
This method is used to enable or disable animation globally. While animation is disabled, all storyboards finish immediately when they are scheduled. The default mode is
Pauses all animations.
If the method succeeds, it returns
When an animation manager is paused, its status is set to
Resumes all animations.
If the method succeeds, it returns
When an animation manager is resumed, and at least one animation is currently scheduled or playing, its status is set to
Specifies a handler for animation manager status updates.
The event handler to be called when the status of the animation manager changes. The specified object must implement the
If the method succeeds, it returns
Passing
Sets the priority comparison handler to be called to determine whether a scheduled storyboard can be canceled.
The priority comparison handler for cancelation. The specified object must implement the
If the method succeeds, it returns
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by canceling storyboards.
A scheduled storyboard can be canceled only if it has not started playing and the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler to be called to determine whether a scheduled storyboard can be trimmed.
The priority comparison handler for trimming. The specified object must implement the
If the method succeeds, it returns
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by trimming the scheduled storyboard.
A scheduled storyboard can be trimmed only if the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler to be called to determine whether a scheduled storyboard can be compressed.
The priority comparison handler for compression. The specified object must implement the
If the method succeeds, it returns
Setting a priority comparison handler with this method enables the application to indicate when the scheduling conflicts can be resolved by compressing the scheduled storyboard and any other storyboards animating the same variables.
A storyboard can be compressed only if the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler to be called to determine whether a scheduled storyboard can be concluded.
The priority comparison handler for conclusion. The specified object must implement the
If the method succeeds, it returns
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by concluding the scheduled storyboard.
A scheduled storyboard can be concluded only if it contains a loop with a repetition count of UI_ANIMATION_REPEAT_INDEFINITELY and the priority comparison object registered with this method returns
Passing
Sets the default acceptable animation delay. This is the length of time that may pass before storyboards begin.
The default delay. This parameter can be a positive value, or UI_ANIMATION_SECONDS_EVENTUALLY (-1) to indicate that any finite delay is acceptable.
If the method succeeds, it returns
For a storyboard to be successfully scheduled, it must begin before the longest acceptable delay has elapsed. This delay is determined in the following order: the delay value set by calling
Shuts down the animation manager and all its associated objects.
If the method succeeds, it returns
Calling this method directs the animation manager, and all the objects it created, to release all their references to other objects. After
Gets the status of the animation manager.
Sets the animation mode.
This method is used to enable or disable animation globally. While animation is disabled, all storyboards finish immediately when they are scheduled. The default mode is
Sets the default acceptable animation delay. This is the length of time that may pass before storyboards begin.
For a storyboard to be successfully scheduled, it must begin before the longest acceptable delay has elapsed. This delay is determined in the following order: the delay value set by calling
Defines an animation manager, which provides a central interface for creating and managing animations in multiple dimensions.
Creates a new animation variable for each specified dimension.
A vector (of size cDimension) of initial values for the animation variable.
The number of dimensions that require animated values. This parameter specifies the number of values listed in initialValue.
The new animation variable.
If this method succeeds, it returns
The initial value of an animation variable is specified when the variable is created. After an animation variable is created, its value cannot be changed directly; it must be updated through the animation manager.
An animation variable is typically created to represent each visual characteristic that is to be animated. For example, an application might create three animation variables for the X, Y, and Z coordinates of an object that can move freely within a a three-dimensional space.
Creates a new animation variable.
The initial value for the animation variable.
The new animation variable.
If this method succeeds, it returns
The initial value of an animation variable is specified when the variable is created. After an animation variable is created, its value cannot be changed directly; it must be updated through the animation manager.
An animation variable is typically created to represent each visual characteristic that is to be animated. For example, an application might create two animation variables for the X and Y coordinates of an object that can move freely within a window.
Creates and schedules a single-transition storyboard.
The animation variable.
A transition to be applied to the animation variable.
The current system time.
Returns
This method schedules a new storyboard by creating the storyboard, applying the specified transition to the specified variable, and then scheduling the storyboard.
Creates a new storyboard.
The new storyboard.
If this method succeeds, it returns
Finishes all active storyboards within the specified time interval.
The maximum time interval during which all storyboards must be finished.
If this method succeeds, it returns
Calling the FinishAllStoryboards method ensures that all active storyboards finish within the specified completion deadline. If a storyboard is scheduled to play past the deadline, it is compressed.
A storyboard is considered active if a call to the
Abandons all active storyboards.
If this method succeeds, it returns
Calling this method is equivalent to calling the
A storyboard is considered active if a call to the
Updates the values of all animation variables.
The current system time. This parameter must be greater than or equal to 0.0.
The result of the update. You can omit this parameter from calls to this method.
Returns
Calling this method advances the animation manager to timeNow, changes the status of all storyboards as necessary, and updates any animation variables to appropriate interpolated values. If the animation manager is paused, no storyboards or variables are updated. If the animation mode is
Gets the animation variable with the specified tag.
The object portion of the tag. This parameter can be
The identifier portion of the tag.
The animation variable that matches the specified tag, or
If this method succeeds, it returns
A tag is a pairing of an integer identifier (id) with a COM object (object). An application can use tags to identify animation variables and storyboards.
Tags are not necessarily unique; this method returns UI_E_AMBIGUOUS_MATCH if more than one animation variable exists with the specified tag.
Gets the storyboard with the specified tag.
The object portion of the tag. This parameter can be
The identifier portion of the tag.
The storyboard that matches the specified tag, or
If this method succeeds, it returns
A tag is a pairing of an integer identifier (id) with a COM object (object). An application can use tags to identify animation variables and storyboards.
Tags are not necessarily unique; this method returns UI_E_AMBIGUOUS_MATCH if more than one storyboard exists with the specified tag.
Retrieves an estimate of the time interval before the next animation event.
The estimated time, in seconds.
If this method succeeds, it returns
Gets the status of the animation manager.
The status of the animation manager.
If this method succeeds, it returns
Sets the animation mode.
The animation mode.
Returns
Use this method to enable or disable animation globally. While animation is disabled, all storyboards finish immediately when they are scheduled. The default mode is
Pauses all animations.
If this method succeeds, it returns
When an animation manager is paused, its status is set to
Resumes all animations.
If this method succeeds, it returns
When an animation manager is resumed, and at least one animation is currently scheduled or playing, its status is set to
Specifies a handler for animation manager status updates.
The event handler to be called when the status of the animation manager changes. The specified object must implement the
If TRUE, specifies that
Returns
Passing
Sets the priority comparison handler that determines whether a scheduled storyboard can be canceled.
The priority comparison handler for cancelation. The specified object must implement the
Returns
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by canceling storyboards.
A scheduled storyboard can be canceled only if it hasn't started playing and the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler that determines whether a scheduled storyboard can be trimmed.
The priority comparison handler for trimming. The specified object must implement the
Returns
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by trimming the scheduled storyboard.
A scheduled storyboard can be trimmed only if the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler that determines whether a scheduled storyboard can be compressed.
The priority comparison handler for compression. The specified object must implement the
Returns
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by compressing the scheduled storyboard and any other storyboards animating the same variables.
A storyboard can be compressed only if the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler that determines whether a scheduled storyboard can be concluded.
The priority comparison handler for conclusion. The specified object must implement the
Returns
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by concluding the scheduled storyboard.
A scheduled storyboard can be concluded only if it contains a loop with a repetition count of UI_ANIMATION_REPEAT_INDEFINITELY and the priority comparison object registered with this method returns
Passing
Sets the default acceptable animation delay. This is the length of time that may pass before storyboards begin.
The default delay. This parameter can be a positive value, or UI_ANIMATION_SECONDS_EVENTUALLY (-1) to indicate that any finite delay is acceptable.
Returns
For Windows Animation to schedule a storyboard successfully, the storyboard must begin before the longest acceptable delay has elapsed. Windows Animation determines this delay in the following order: the delay value set by calling
Shuts down the animation manager and all its associated objects.
Returns
Calling this method directs the animation manager, and all the objects it created, to release all their references to other objects. After
Gets the status of the animation manager.
Sets the animation mode.
Use this method to enable or disable animation globally. While animation is disabled, all storyboards finish immediately when they are scheduled. The default mode is
Sets the priority comparison handler that determines whether a scheduled storyboard can be canceled.
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by canceling storyboards.
A scheduled storyboard can be canceled only if it hasn't started playing and the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler that determines whether a scheduled storyboard can be trimmed.
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by trimming the scheduled storyboard.
A scheduled storyboard can be trimmed only if the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler that determines whether a scheduled storyboard can be compressed.
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by compressing the scheduled storyboard and any other storyboards animating the same variables.
A storyboard can be compressed only if the priority comparison object registered with this method returns
Passing
Sets the priority comparison handler that determines whether a scheduled storyboard can be concluded.
Setting a priority comparison handler with this method enables the application to indicate when scheduling conflicts can be resolved by concluding the scheduled storyboard.
A scheduled storyboard can be concluded only if it contains a loop with a repetition count of UI_ANIMATION_REPEAT_INDEFINITELY and the priority comparison object registered with this method returns
Passing
Sets the default acceptable animation delay. This is the length of time that may pass before storyboards begin.
For Windows Animation to schedule a storyboard successfully, the storyboard must begin before the longest acceptable delay has elapsed. Windows Animation determines this delay in the following order: the delay value set by calling
Defines a method for handling status updates to an animation manager.
Defines a method for handling updates to an animation manager.
Defines a method that allows a custom interpolator to provide transition information, in the form of a cubic polynomial curve, to the animation manager.
Adds a cubic polynomial segment that describes the shape of a transition curve to the animation function.
The dimension in which to apply the new segment.
The begin offset for the segment, where 0 corresponds to the start of the transition.
The cubic polynomial constant coefficient.
The cubic polynomial linear coefficient.
The cubic polynomial quadratic coefficient.
The cubic polynomial cubic coefficient.
If this method succeeds, it returns
This method will fail with an error code of UI_E_INVALID_PRIMITIVE if the start time is either less than 0 or less than the start time of a previous segment.
Adds a sinusoidal segment that describes the shape of a transition curve to the animation function.
The dimension in which to apply the new segment.
The begin offset for the segment, where 0 corresponds to the start of the transition.
The bias constant in the sinusoidal function.
The amplitude constant in the sinusoidal function.
The frequency constant in the sinusoidal function.
The phase constant in the sinusoidal function.
If this method succeeds, it returns
Defined by the function Y(t) = bias + amplitude*sin(360*frequency*t + phase), where 'sin' is the sin of an angle specified in degrees (for example, sin(n + 360) == sin(n) for any real number 'n').
This method will fail with an error code of UI_E_INVALID_PRIMITIVE if the start time is either less than 0 or less than the start time of a previous segment.
Defines a method that resolves scheduling conflicts through priority comparison.
A single animation variable can be included in multiple storyboards, but multiple storyboards cannot animate the same variable at the same time. If a newly scheduled storyboard attempts to animate one or more variables that are currently scheduled for animation by different storyboards, a scheduling conflict occurs. To determine which storyboard has priority, the animation manager can call the HasPriority method on one or more priority comparison handlers provided by the application.
Determines the relative priority between a scheduled storyboard and a new storyboard.
The currently scheduled storyboard.
The new storyboard that is interrupting the scheduled storyboard specified by scheduledStoryboard.
The potential effect on newStoryboard if scheduledStoryboard has a higher priority.
Returns the following if successful; otherwise an
Return code | Description |
---|---|
| newStoryboard has priority. |
| scheduledStoryboard has priority. |
?
A single animation variable can be included in multiple storyboards, but multiple storyboards cannot animate the same variable at the same time. If a new storyboard attempts to animate one or more variables that are currently scheduled for animation by a different storyboard, a scheduling conflict occurs. To determine which storyboard has priority, the animation manager can call the HasPriority method on one or more priority comparison handlers provided by the application.
Registering priority comparison objects is optional. By default, all storyboards can be trimmed, concluded, or compressed to prevent failure, but none can be canceled, and by default no storyboards will be canceled or trimmed to prevent a delay.
By default, a call made in a callback method to any other animation method results in the call failing and returning UI_E_ILLEGAL_REENTRANCY. However, there are exceptions to this default. The following methods can be successfully called from HasPriority:
Defines a storyboard, which contains a group of transitions that are synchronized relative to one another.
Adds a transition to the storyboard.
The animation variable for which the transition is to be added.
The transition to be added.
If the method succeeds, it returns
Return code | Description |
---|---|
| This transition has already been added to a storyboard. |
?
The AddTransition method applies the specified transition to the specified variable in the storyboard. If this is the first transition applied to this variable in this storyboard, the transition begins at the start of the storyboard. Otherwise, the transition is appended to the transition that was most recently added to the variable.
Adds a keyframe at the specified offset from an existing keyframe.
The existing keyframe. To add a keyframe at an offset from the start of the storyboard, use the special keyframe UI_ANIMATION_KEYFRAME_STORYBOARD_START.
The offset from the existing keyframe at which a new keyframe is to be added.
The keyframe to be added.
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Adds a keyframe at the end of the specified transition.
The transition after which a keyframe is to be added.
The keyframe to be added.
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Adds a transition that starts at the specified keyframe.
The animation variable for which a transition is to be added.
The transition to be added.
The keyframe that specifies the beginning of the new transition.
If the method succeeds, it returns
Return code | Description |
---|---|
| This transition has already been added to a storyboard or has been added to a storyboard that has finished playing and been released. |
| The transition might eclipse the beginning of another transition in the storyboard. |
?
Transitions must be added in the order in which they will be played. A transition may begin playing before the preceding transition in the storyboard has finished, in which case the initial value and velocity seen by the new transition is determined by the state of the preceding one. A transition should not begin before the start of the preceding transition.
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Adds a transition between two keyframes.
The animation variable for which the transition is to be added.
The transition to be added.
A keyframe that specifies the beginning of the new transition.
A keyframe that specifies the end of the new transition. It must not be possible for endKeyframe to appear earlier in the storyboard than startKeyframe.
If the method succeeds, it returns
Return code | Description |
---|---|
| This transition has already been added to a storyboard or has been added to a storyboard that has finished playing and been released. |
| The transition might eclipse the beginning of another transition in the storyboard. |
| The start keyframe might occur after the end keyframe. |
?
This method applies the specified transition to the specified variable in the storyboard, with the transition starting and ending at the specified keyframes. If the transition was created with a duration parameter specified, that duration is overwritten with the duration of time between the start and end keyframes. Otherwise, Windows Animation speeds up or slows down the transition as necessary.
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Transitions must be added in the order in which they will be played. A transition may begin playing before the preceding transition in the storyboard has finished, in which case the initial value and velocity seen by the new transition will be determined by the state of the preceding one. It must not be possible for a transition to begin before the start of the preceding transition.
Creates a loop between two specified keyframes.
The keyframe at which the loop is to begin.
The keyframe at which the loop is to end. It must not be posssible for endKeyframe to occur earlier in the storyboard than startKeyframe.
The number of times the loop is to be repeated; this parameter must be 0 or a positive number. Use UI_ANIMATION_REPEAT_INDEFINITELY (-1) to repeat the loop indefinitely until the storyboard is trimmed or concluded.
If the method succeeds, it returns
Return code | Description |
---|---|
| The start keyframe might occur after the end keyframe. |
| It might not be possible to determine the end keyframe time when the start keyframe is reached. |
| Two repeated portions of a storyboard might overlap. |
?
This method directs a storyboard to play the interval between the given keyframes repeatedly before playing the remainder of the storyboard. If a finite repetition count is specified, the loop always plays that number of times. If UI_ANIMATION_REPEAT_INDEFINITELY (-1) is specified, the loop repeats until the storyboard is concluded, in which case the current iteration of the loop completes and the remainder of the storyboard plays. A storyboard that loops indefinitely also ends if it is truncated.
Nested and overlapping loops are not supported.
A keyframe represents a moment in time within a storyboard and can be used to specify the start or end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Directs the storyboard to hold the specified animation variable at its final value until the storyboard ends.
The animation variable.
If the method succeeds, it returns
When a storyboard is playing, it has exclusive access to any variables it animates unless the storyboard is trimmed by a higher priority storyboard. Typically, this exclusive access is released when the last transition in the storyboard for that variable finishes playing. Applications can call this method to maintain exclusive access to the animation variable and hold the variable, at the final value of the last transition, until the end of the storyboard.
Sets the longest acceptable delay before the scheduled storyboard begins.
The longest acceptable delay. This parameter can be a positive value, or UI_ANIMATION_SECONDS_EVENTUALLY (-1) to indicate that any finite delay is acceptable.
If the method succeeds, it returns
For a storyboard to be successfully scheduled, it must begin before the longest acceptable delay has elapsed. This delay is determined in the following order: the delay value set by calling this method, the delay value set by calling the
Directs the storyboard to schedule itself for play.
The current time.
The result of the scheduling request. This parameter can be omitted from calls to this method.
This method directs a storyboard to attempt to add itself to the schedule of playing storyboards. The rules are as follows:
If there are no playing storyboards animating any of the same animation variables, the attempt succeeds and the storyboard starts playing immediately.
If the storyboard has priority to cancel, trim, conclude, or compress conflicting storyboards, the attempt to schedule succeeds and the storyboard begins playing as soon as possible.
If the storyboard does not have priority, the attempt fails and the schedulingResult parameter is set to
If this method is called from a handler for OnStoryboardStatusChanged events, the schedulingResult parameter is set to
It is possible reuse a storyboard by calling Schedule again after its status has reached
Completes the current iteration of a keyframe loop that is in progress (where the loop is set to UI_ANIMATION_REPEAT_INDEFINITELY), terminates the loop, and continues with the storyboard.
If the method succeeds, it returns
This method specifies that any subsequent keyframe loops that have a repetition count of UI_ANIMATION_REPEAT_INDEFINITELY (-1) will be skipped while the remainder of the storyboard is played.
An iteration of a keyframe loop that is in progress will be completed before the remainder of the storyboard plays.
If this method is called at the end of a keyframe loop iteration, the loop is terminated and the loop value is set to the starting loop value.
Finishes the storyboard within the specified time, compressing the storyboard if necessary.
The maximum amount of time that the storyboard can use to finish playing.
If the method succeeds, it returns
This method has no effect on storyboard events. Events continue to be raised as expected while the storyboard plays.
Terminates the storyboard, releases all related animation variables, and removes the storyboard from the schedule.
If the method succeeds, it returns
This method can be called before or after the storyboard starts playing.
This method does not trigger any storyboard events.
Sets the tag for the storyboard.
The object portion of the tag. This parameter can be
The identifier portion of the tag.
If the method succeeds, it returns
Return code | Description |
---|---|
| The storyboard is currently in the schedule. |
?
A tag is a pairing of an integer identifier (id) with a COM object (object); it can be used by an application to identify a storyboard.
Gets the tag for a storyboard.
The object portion of the tag.
The identifier portion of the tag.
If the method succeeds, it returns
Return code | Description |
---|---|
| The storyboard's tag was not set. |
?
A tag is a pairing of an integer identifier (id) with a COM object (object); it can be used by an application to identify a storyboard.
The parameters are optional so that the method can return both portions of the tag, or just the identifier or object portion.
Gets the status of the storyboard.
The storyboard status.
If the method succeeds, it returns
Unless this method is called from a handler for OnStoryboardStatusChanged events, the only values it returns are
Gets the time that has elapsed since the storyboard started playing.
The elapsed time.
If the method succeeds, it returns
Return code | Description |
---|---|
| The storyboard is not playing. |
?
Specifies a handler for storyboard events.
The handler to be called whenever storyboard status and update events occur. The specified object must implement the
If the method succeeds, it returns
Passing
Sets the longest acceptable delay before the scheduled storyboard begins.
For a storyboard to be successfully scheduled, it must begin before the longest acceptable delay has elapsed. This delay is determined in the following order: the delay value set by calling this method, the delay value set by calling the
Gets the status of the storyboard.
Unless this method is called from a handler for OnStoryboardStatusChanged events, the only values it returns are
Gets the time that has elapsed since the storyboard started playing.
Defines a storyboard, which contains a group of transitions that are synchronized relative to one another.
Adds a transition to the storyboard.
The animation variable for which the transition is to be added.
The transition to be added.
If this method succeeds, it returns
Return code | Description |
---|---|
| This transition has already been added to a storyboard. |
?
See Windows Animation Error Codes for a list of error codes.
The AddTransition method applies the specified transition to the specified variable in the storyboard. If this is the first transition applied to this variable in this storyboard, the transition begins at the start of the storyboard. Otherwise, the transition is appended to the transition that was most recently added to the variable.
Adds a keyframe at the specified offset from an existing keyframe.
The existing keyframe. To add a keyframe at an offset from the start of the storyboard, use the special keyframe UI_ANIMATION_KEYFRAME_STORYBOARD_START.
The offset from the existing keyframe at which a new keyframe is to be added.
The keyframe to be added.
If this method succeeds, it returns
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Adds a keyframe at the end of the specified transition.
The transition after which a keyframe is to be added.
The keyframe to be added.
If this method succeeds, it returns
Return code | Description |
---|---|
| The transition has not been added to the storyboard. |
?
See Windows Animation Error Codes for a list of error codes.
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Adds a transition that starts at the specified keyframe.
The animation variable for which a transition is to be added.
The transition to be added.
The keyframe that specifies the beginning of the new transition.
If this method succeeds, it returns
Return code | Description |
---|---|
| This transition has already been added to a storyboard or has been added to a storyboard that has finished playing and been released. |
| The transition might eclipse the beginning of another transition in the storyboard. |
?
See Windows Animation Error Codes for a list of error codes.
Transitions must be added in the order in which they will be played. A transition may begin playing before the preceding transition in the storyboard has finished, in which case the initial value and velocity seen by the new transition is determined by the state of the preceding one. A transition should not begin before the start of the preceding transition.
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Adds a transition between two keyframes.
The animation variable for which the transition is to be added.
The transition to be added.
A keyframe that specifies the beginning of the new transition.
A keyframe that specifies the end of the new transition. It must not be possible for endKeyframe to appear earlier in the storyboard than startKeyframe.
If this method succeeds, it returns
Return code | Description |
---|---|
| This transition has already been added to a storyboard or has been added to a storyboard that has finished playing and been released. |
| The transition might eclipse the beginning of another transition in the storyboard. |
| The start keyframe might occur after the end keyframe. |
?
See Windows Animation Error Codes for a list of error codes.
This method applies the specified transition to the specified variable in the storyboard, with the transition starting and ending at the specified keyframes. If the transition was created with a duration parameter specified, that duration is overwritten with the duration of time between the start and end keyframes. Otherwise, Windows Animation speeds up or slows down the transition as necessary.
A keyframe represents a moment in time within a storyboard and can be used to specify the start and end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Transitions must be added in the order in which they will be played. A transition may begin playing before the preceding transition in the storyboard has finished, in which case the initial value and velocity seen by the new transition will be determined by the state of the preceding one. It must not be possible for a transition to begin before the start of the preceding transition.
Creates a loop between two keyframes.
The keyframe at which the loop is to begin.
The keyframe at which the loop is to end. endKeyframe must not occur earlier in the storyboard than startKeyframe.
The number of times the loop is to be repeated; the last iteration of a loop can terminate fractionally between keyframes. A value of zero indicates that the specified portion of a storyboard will not be played. A value of UI_ANIMATION_REPEAT_INDEFINITELY (-1) indicates that the loop will repeat indefinitely until the storyboard is trimmed or concluded.
The pattern for the loop iteration.
A value of
A value of
Note??If repeatMode has a value of
The handler for each loop iteration event. The default value is 0.
The loop ID to pass to pIterationChangeHandler. The default value is 0.
If true, specifies that pIterationChangeHandler will be incorporated into the estimate of the time interval until the next animation event that is returned by the
If this method succeeds, it returns
This method directs a storyboard to play the interval between the given keyframes repeatedly before playing the remainder of the storyboard. If a finite repetition count is specified, the loop always plays that number of times. If UI_ANIMATION_REPEAT_INDEFINITELY (-1) is specified, the loop repeats until the storyboard is concluded, in which case the current iteration of the loop completes and the remainder of the storyboard plays. A storyboard that loops indefinitely also ends if it is truncated.
Nested and overlapping loops are not supported.
A keyframe represents a moment in time within a storyboard and can be used to specify the start or end times of transitions. Because keyframes can be added at the ends of transitions, their offsets from the start of the storyboard may not be known until the storyboard is playing.
Directs the storyboard to hold the specified animation variable at its final value until the storyboard ends.
The animation variable.
If this method succeeds, it returns
When a storyboard is playing, it has exclusive access to any variables it animates unless the storyboard is trimmed by a higher-priority storyboard. Typically, this exclusive access is released when the last transition in the storyboard for that variable finishes playing. Applications can call this method to maintain exclusive access to the animation variable and hold the variable, at the final value of the last transition, until the end of the storyboard.
Sets the longest acceptable delay before the scheduled storyboard begins.
The longest acceptable delay. This parameter can be a positive value, or UI_ANIMATION_SECONDS_EVENTUALLY (-1) to indicate that any finite delay is acceptable.
Returns
For Windows Animation to schedule a storyboard successfully, the storyboard must begin before the longest acceptable delay has elapsed. Windows Animation determines this delay in the following order: the delay value set by calling this method, the delay value set by calling the
Use
Specifies an offset from the beginning of a storyboard at which to start animating.
The offset, or amount of time, to skip at the beginning of the storyboard.
Returns
Calls to SetSkipDuration fail if the storyboard has been scheduled.
SetSkipDuration does not delay the start of a scheduled storyboard. See
This diagram shows a skip duration, or offset, for a storyboard.
Directs the storyboard to schedule itself for play.
The current time.
The result of the scheduling request. You can omit this parameter from calls to this method.
Returns
This method directs a storyboard to try to add itself to the schedule of playing storyboards, using these rules:
If there are no playing storyboards animating any of the same animation variables, the attempt succeeds and the storyboard starts playing immediately.
If the storyboard has priority to cancel, trim, conclude, or compress conflicting storyboards, the attempt to schedule succeeds and the storyboard starts playing as soon as possible.
If the storyboard does not have priority, the attempt fails and the schedulingResult parameter is set to
If this method is called from a handler for OnStoryboardStatusChanged events, the schedulingResult parameter is set to
It is possible to reuse a storyboard by calling Schedule again after its status has reached
Completes the current iteration of a keyframe loop that is in progress (where the loop is set to UI_ANIMATION_REPEAT_INDEFINITELY), terminates the loop, and continues with the storyboard.
If this method succeeds, it returns
This method specifies that any subsequent keyframe loops that have a repetition count of UI_ANIMATION_REPEAT_INDEFINITELY (-1) will be skipped while the remainder of the storyboard is played.
An iteration of a keyframe loop that is in progress will be completed before the remainder of the storyboard plays.
If this method is called at the end of an alternating keyframe loop iteration, the loop is terminated with the loop value set to the ending loop value.
If this method is called at the end of a non-alternating keyframe loop iteration, where "loop wrapping" results in the loop value being set to the starting value of the next iteration, the loop is executed once more in order for the loop value to be set to the ending loop value.
For alternating keyframe loops, each iteration has a starting value that is equivalent to the ending value of the preceding loop. In this case, "loop wrapping" is not an issue.
Finishes the storyboard within the specified time, compressing the storyboard if necessary.
The maximum amount of time that the storyboard can use to finish playing.
If this method succeeds, it returns
This method has no effect on storyboard events. Events continue to be raised as expected while the storyboard plays.
Terminates the storyboard, releases all related animation variables, and removes the storyboard from the schedule.
If this method succeeds, it returns
This method can be called before or after the storyboard starts playing.
This method does not trigger any storyboard events.
Sets the tag for the storyboard.
The object portion of the tag. This parameter can be
The identifier portion of the tag.
Returns
A tag is a pairing of an integer identifier (id) with a COM object (object). It can be used by an application to identify a storyboard.
Gets the tag for a storyboard.
The object portion of the tag.
The identifier portion of the tag.
If this method succeeds, it returns
Return code | Description |
---|---|
| The storyboard tag was not set. |
?
A tag is a pairing of an integer identifier (id) with a COM object (object); it can be used by an application to identify a storyboard.
This method can return the identifier, the object, or both portions of the tag.
Gets the status of the storyboard.
The storyboard status.
If this method succeeds, it returns
Unless this method is called from a handler for OnStoryboardStatusChanged events, the only values it returns are
Gets the time that has elapsed since the storyboard started playing.
The elapsed time.
If this method succeeds, it returns
Return code | Description |
---|---|
| The storyboard is not playing. |
?
Specifies a handler for storyboard events.
The handler that Windows Animation should call whenever storyboard status and update events occur. The specified object must implement the
If TRUE, registers the OnStoryboardStatusChanged event and includes those events in
If TRUE, registers the OnStoryboardUpdated event and includes those events in
Returns
Passing
Sets the longest acceptable delay before the scheduled storyboard begins.
For Windows Animation to schedule a storyboard successfully, the storyboard must begin before the longest acceptable delay has elapsed. Windows Animation determines this delay in the following order: the delay value set by calling this method, the delay value set by calling the
Use
Specifies an offset from the beginning of a storyboard at which to start animating.
Calls to SetSkipDuration fail if the storyboard has been scheduled.
SetSkipDuration does not delay the start of a scheduled storyboard. See
This diagram shows a skip duration, or offset, for a storyboard.
Gets the status of the storyboard.
Unless this method is called from a handler for OnStoryboardStatusChanged events, the only values it returns are
Gets the time that has elapsed since the storyboard started playing.
Defines methods for handling status and update events for a storyboard.
Defines methods for handling storyboard events.
Defines a method for handling events related to changes in timer client status.
Defines methods for handling timing events.
Use SetTimerEventHandler to specify the timing events handler for an instance of
Defines methods for handling timing update events.
The UIAnimationManager object implements this interface, so a client application can query the UIAnimationManager object for this interface and then pass the interface to
Extends the
Gets the number of dimensions in which the animation variable has a transition specified.
The number of dimensions.
If this method succeeds, it returns
Sets the initial value of the transition.
The initial value for the transition.
Returns
Do not call this method after the transition has been added to a storyboard.
Sets the initial value of the transition for each specified dimension in the animation variable.
A vector (of size cDimension) that contains the initial values for the transition.
The number of dimensions that require transition values. This parameter specifies the number of values listed in value.
Returns
The animation manager should not call this method after the transition has been added to a storyboard.
Sets the initial velocity of the transition.
The initial velocity for the transition.
Returns
Sets the initial velocity of the transition for each specified dimension in the animation variable.
A vector (of size cDimension) that contains the initial velocities for the transition.
The number of dimensions that require transition velocities. This parameter specifies the number of values listed in velocity.
Returns
Determines whether the duration of a transition is known.
If this method succeeds, it returns
This method should not be called when the storyboard to which the transition has been added is scheduled or playing.
Gets the duration of the transition.
The duration of the transition, in seconds.
If this method succeeds, it returns
An application should typically call the IsDurationKnown method before calling this method.
This method should not be called when the storyboard to which the transition has been added is scheduled or playing.
Gets the number of dimensions in which the animation variable has a transition specified.
Sets the initial value of the transition.
Do not call this method after the transition has been added to a storyboard.
Sets the initial velocity of the transition.
Determines whether the duration of a transition is known.
This method should not be called when the storyboard to which the transition has been added is scheduled or playing.
Gets the duration of the transition.
An application should typically call the IsDurationKnown method before calling this method.
This method should not be called when the storyboard to which the transition has been added is scheduled or playing.
Defines a method for creating transitions from custom interpolators.
When an application requires animation effects that are not available in the transition library, developers can implement custom transitions that it can use. A custom transition is created by first implementing the interpolator function for the transition, and then by using a factory object to generate transitions from the interpolator. An interpolator must implement the
Creates a transition from a custom interpolator.
The interpolator from which a transition is to be created. The specified object must implement the
The new transition.
If the method succeeds, it returns
Defines a method for creating transitions from custom interpolators.
When an application requires animation effects that are not available in the transition library, developers can implement custom transitions that the application can use. A custom transition is created by first implementing the interpolator function for the transition, and then by using a factory object to generate transitions from the interpolator. An interpolator must implement either the
Creates a transition from a custom interpolator for a given dimension.
The interpolator from which a transition is to be created. The specified object must implement the
The new transition.
If the method succeeds, it returns
Creates a cubic B?zier linear scalar transition.
During a cubic B?zier linear transition, the value of the animation variable changes from its initial value to the finalValue over the duration of the transition. The ordered pairs, (x1, y1) and (x2, y2), act as control points that provide directional information to transform the linear path of the transition into a smooth parametric curve.
The following figure shows the change in value over time for an animation variable during a cubic B?zier linear transition.
Creates an instantaneous scalar transition.
The value of the animation variable at the end of the transition.
The new instantaneous transition.
If this method succeeds, it returns
During an instantaneous transition, the value of the animation variable changes instantly from its current value to a specified final value. The duration of this transition is always zero.
The following figure shows the change in value over time of an animation variable during an instantaneous transition.
Creates an instantaneous vector transition for each specified dimension.
A vector (of size cDimension) that contains the values of the animation variable at the end of the transition.
The number of dimensions to apply the transition. This parameter specifies the number of values listed in finalValue.
The new instantaneous transition.
If this method succeeds, it returns
During an instantaneous transition, the value of the animation variable changes instantly from its current value to a specified final value. The duration of this transition is always zero.
The following figure shows the change in value over time of an animation variable during an instantaneous transition.
Creates a constant scalar transition.
The duration of the transition.
The new constant transition.
If this method succeeds, it returns
During a constant transition, the value of an animation variable remains at the initial value over the duration of the transition.
The following figure shows the change in value for an animation variable over time during a constant-duration transition.
Creates a discrete scalar transition.
The amount of time by which to delay the instantaneous switch to the final value.
The value of the animation variable at the end of the transition.
The amount of time by which to hold the variable at its final value.
The new discrete transition.
If this method succeeds, it returns
During a discrete transition, the animation variable remains at the initial value for a specified delay time, then switches instantaneously to a specified final value and remains at that value for a given hold time.
The following figure shows the change in value over time of an animation variable during a discrete transition.
Creates a discrete vector transition for each specified dimension.
The amount of time by which to delay the instantaneous switch to the final value.
A vector (of size cDimension) that contains the final values of the animation variable at the end of the transition.
The number of dimensions to apply the transition. This parameter specifies the number of values listed in finalValue.
The amount of time by which to hold the variable at its final value.
The new discrete transition.
If this method succeeds, it returns
During a discrete transition, the animation variable remains at the initial value for a specified delay time, then switches instantaneously to a specified final value and remains at that value for a given hold time.
The following figure shows the change in value over time of an animation variable during a discrete transition.
Creates a linear scalar transition.
The duration of the transition.
The value of the animation variable at the end of the transition.
The new linear transition.
If this method succeeds, it returns
During a linear transition, the value of the animation variable transitions linearly from its initial value to a specified final value.
The following figure shows the change in value over time of an animation variable during a linear transition.
Creates a linear vector transition in the specified dimension.
The duration of the transition.
A vector (of size cDimension) that contains the final values of the animation variable at the end of the transition.
The number of dimensions to apply the transition. This parameter specifies the number of values listed in finalValue.
The new linear transition.
If this method succeeds, it returns
During a linear transition, the value of the animation variable transitions linearly from its initial value to a specified final value.
The following figure shows the change in value over time of an animation variable during a linear transition.
Creates a linear-speed scalar transition.
The absolute value of the velocity in units/second.
The value of the animation variable at the end of the transition.
The new linear-speed transition.
If this method succeeds, it returns
During a linear-speed transition, the value of the animation variable changes at a specified rate. The duration of the transition is determined by the difference between the initial value and the specified final value.
The following figure shows the change in value over time of an animation variable during a linear-speed transition.
Creates a linear-speed vector transition in the specified dimension.
The absolute value of the velocity in units/second.
A vector (of size cDimension) that contains the final values of the animation variable at the end of the transition.
The number of dimensions to apply the transition. This parameter specifies the number of values listed in finalValue.
The new linear-speed transition.
If this method succeeds, it returns
During a linear-speed transition, the value of the animation variable changes at a specified rate. The duration of the transition is determined by the difference between the initial value and the specified final value.
The following figure shows the change in value over time of an animation variable during a linear-speed transition.
Creates a sinusoidal scalar transition where amplitude is determined by initial velocity.
The duration of the transition.
The period of oscillation of the sinusoidal wave.
The new sinusoidal-velocity transition.
If this method succeeds, it returns
The value of the animation variable oscillates around the initial value over the entire duration of a sinusoidal-range transition. The amplitude of the oscillation is determined by the velocity when the transition begins.
The following figure shows the change in value over time of an animation variable during a sinusoidal-velocity transition.
Creates a sinusoidal-range scalar transition with a specified range of oscillation.
The duration of the transition.
The value of the animation variable at a trough of the sinusoidal wave.
The value of the animation variable at a peak of the sinusoidal wave.
The period of oscillation of the sinusoidal wave.
The slope at the start of the transition.
The new sinusoidal-range transition.
If this method succeeds, it returns
The value of the animation variable fluctuates between the specified minimum and maximum values over the entire duration of a sinusodial-range transition. The slope parameter is used to disambiguate between the two possible sine waves specified by the other parameters.
The following figure shows the change in value over time of an animation variable during a sinusoidal-range transition. Passing in the
Creates an accelerate-decelerate scalar transition.
The duration of the transition.
The value of the animation variable at the end of the transition.
The ratio of duration time spent accelerating (0 to 1).
The ratio of duration time spent decelerating (0 to 1).
The new accelerate-decelerate transition.
If this method succeeds, it returns
During an accelerate-decelerate transition, the animation variable speeds up and then slows down over the duration of the transition, ending at a specified value. You can control how quickly the variable accelerates and decelerates independently, by specifying different acceleration and deceleration ratios.
When the initial velocity is zero, the acceleration ratio is the fraction of the duration that the variable will spend accelerating; likewise for the deceleration ratio. If the value of initial velocity is nonzero, the value is the fraction of the time between the velocity reaching zero and the end of transition. The acceleration ratio and the deceleration ratio should sum to a maximum of 1.0.
The following figures show the change in value for animation variables with different initial velocities during accelerate-decelerate transitions.
Note??d' in the figure on the right shows the time between the velocity reaching zero and the end of the transition.
Creates a reversal scalar transition.
The duration of the transition.
The new reversal transition.
If this method succeeds, it returns
A reversal transition smoothly changes direction over the specified duration. The final value will be the same as the initial value and the final velocity will be the negative of the initial velocity. The folllowing figure shows such a reversal transition.
Creates a cubic scalar transition.
The duration of the transition.
The value of the animation variable at the end of the transition.
The velocity of the variable at the end of the transition.
The new cubic transition.
If this method succeeds, it returns
During a cubic transition, the value of the animation variable changes from its initial value to the finalValue over the duration of the transition, ending at the finalVelocity.
The following figure shows the effect on an animation variable over time during a cubic transition.
Creates a cubic vector transition for each specified dimension.
The duration of the transition.
A vector (of size cDimension) that contains the final values of the animation variable at the end of the transition.
A vector (of size cDimension) that contains the final velocities (in units per second) of the animation variable at the end of the transition.
The number of dimensions to apply the transition. This parameter specifies the number of values listed in finalValue and finalVelocity.
The new cubic transition.
If this method succeeds, it returns
During a cubic transition, the value of the animation variable changes from its initial value to the finalValue over the duration of the transition, ending at the finalVelocity.
The following figure shows the effect on an animation variable over time during a cubic transition.
Creates a smooth-stop scalar transition.
The maximum duration of the transition.
The value of the animation variable at the end of the transition.
The new smooth-stop transition.
If this method succeeds, it returns
A smooth-stop transition slows down as it approaches the specified final value, and reaches the final value with a velocity of zero. The duration of the transition is determined by the initial velocity, the difference between the initial and final values, and the specified maximum duration. If there is no solution consisting of a single parabolic arc, this method creates a cubic transition.
The following figure shows the change in value over time of an animation variable during a smooth-stop transition.
Creates a parabolic-acceleration scalar transition.
The value of the animation variable at the end of the transition.
The velocity, in units/second, at the end of the transition.
The acceleration, in units/second2, during the transition.
The new parabolic-acceleration transition.
If this method succeeds, it returns
During a parabolic-acceleration transition, the value of the animation variable changes from the initial value to the final value, ending at the specified velocity. You can control how quickly the variable reaches the final value by specifying the rate of acceleration.
The following figure shows the change in value over time of an animation variable during a parabolic-acceleration transition.
Creates a cubic B?zier linear scalar transition.
The duration of the transition.
The value of the animation variable at the end of the transition.
The x-coordinate of the first control point.
The y-coordinate of the first control point.
The x-coordinate of the second control point.
The y-coordinate of the second control point.
The new cubic B?zier linear transition.
If this method succeeds, it returns
During a cubic B?zier linear transition, the value of the animation variable changes from its initial value to the finalValue over the duration of the transition. The ordered pairs, (x1, y1) and (x2, y2), act as control points that provide directional information to transform the linear path of the transition into a smooth parametric curve.
The following figure shows the change in value over time for an animation variable during a cubic B?zier linear transition.
Creates a cubic B?zier linear vector transition for each specified dimension.
The duration of the transition.
A vector (of size cDimension) that contains the final values of the animation variable at the end of the transition.
The number of dimensions to apply the transition. This parameter specifies the number of values listed in finalValue.
The x-coordinate of the first control point.
The y-coordinate of the first control point.
The x-coordinate of the second control point.
The y-coordinate of the second control point.
The new cubic B?zier linear transition.
If this method succeeds, it returns
During a cubic B?zier linear transition, the value of the animation variable changes from its initial value to the finalValue over the duration of the transition. The ordered pairs, (x1, y1) and (x2, y2), act as control points that provide directional information to transform the linear path of the transition into a smooth parametric curve.
The following figure shows the change in value over time of an animation variable during a cubic B?zier linear transition.
Defines an animation variable, which represents a visual element that can be animated.
Along with
Gets the current value of the animation variable.
The current value of the animation variable.
If the method succeeds, it returns
The results can be affected by the lower and upper bounds determined by
Gets the final value of the animation variable. This is the value after all currently scheduled animations have completed.
The final value of the animation variable.
If the method succeeds, it returns
Return code | Description |
---|---|
| The final value of the animation variable cannot be determined at this time. |
?
The result can be affected by the lower and upper bounds determined by
Gets the previous value of the animation variable. This is the value of the animation variable before the most recent update.
The previous value of the animation variable.
If the method succeeds, it returns
The results can be affected by the lower and upper bounds determined by
Gets the current value of the animation variable as an integer.
The current value of the animation variable, converted to an INT32 value.
If the method succeeds, it returns
To specify the rounding mode to be used when converting the value, use the
The result can also be affected by the lower and upper bounds determined by
Gets the final value of the animation variable as an integer. This is the value after all currently scheduled animations have completed.
The final value of the animation variable, converted to an INT32 value.
If the method succeeds, it returns
Return code | Description |
---|---|
| The final value of the animation variable cannot be determined at this time. |
?
To specify the rounding mode to be used when converting the value, use the
The result can also be affected by the lower and upper bounds determined by
Gets the previous value of the animation variable as an integer. This is the value of the animation variable before the most recent update.
The previous value of the animation variable, converted to an INT32 value.
If the method succeeds, it returns
To specify the rounding mode to be used when converting the value, use the
The result can also be affected by the lower and upper bounds determined by
Gets the storyboard that is currently animating the animation variable.
The current storyboard, or
If the method succeeds, it returns
Sets the lower bound (floor) for the animation variable. The value of the animation variable should not fall below the specified value.
The lower bound for the animation variable.
If the method succeeds, it returns
Sets an upper bound (ceiling) for the animation variable. The value of the animation variable should not rise above the specified value.
The upper bound for the animation variable.
If the method succeeds, it returns
Specifies the rounding mode for the animation variable.
The rounding mode for the animation variable.
If the method succeeds, it returns
An animation variable's rounding mode determines how a floating-point value is converted to an integer. The default mode for each variable is
Sets the tag for an animation variable.
The object portion of the tag. This parameter can be
The identifier portion of the tag.
If the method succeeds, it returns
A tag is a pairing of an integer identifier (id) with a COM object (object); it can be used by an application to identify an animation variable. Because
Gets the tag for an animation variable.
The object portion of the tag.
The identifier portion of the tag.
If the method succeeds, it returns
Return code | Description |
---|---|
| The animation variable's tag was not set. |
?
A tag is a pairing of an integer identifier (id) with a COM object (object); it can be used by an application to identify an animation variable.
The parameters are optional so that the method can return both portions of the tag, or just the identifier or object portion.
Specifies a variable change handler. This handler is notified of changes to the value of the animation variable.
A variable change handler. The specified object must implement the
If the method succeeds, it returns
Passing
Specifies an integer variable change handler. This handler is notified of changes to the integer value of the animation variable.
An integer variable change handler. The specified object must implement the
If the method succeeds, it returns
Passing
Gets the current value of the animation variable.
The results can be affected by the lower and upper bounds determined by
Gets the final value of the animation variable. This is the value after all currently scheduled animations have completed.
The result can be affected by the lower and upper bounds determined by
Gets the previous value of the animation variable. This is the value of the animation variable before the most recent update.
The results can be affected by the lower and upper bounds determined by
Gets the current value of the animation variable as an integer.
To specify the rounding mode to be used when converting the value, use the
The result can also be affected by the lower and upper bounds determined by
Gets the final value of the animation variable as an integer. This is the value after all currently scheduled animations have completed.
To specify the rounding mode to be used when converting the value, use the
The result can also be affected by the lower and upper bounds determined by
Gets the previous value of the animation variable as an integer. This is the value of the animation variable before the most recent update.
To specify the rounding mode to be used when converting the value, use the
The result can also be affected by the lower and upper bounds determined by
Gets the storyboard that is currently animating the animation variable.
Sets the lower bound (floor) for the animation variable. The value of the animation variable should not fall below the specified value.
Sets an upper bound (ceiling) for the animation variable. The value of the animation variable should not rise above the specified value.
Specifies the rounding mode for the animation variable.
An animation variable's rounding mode determines how a floating-point value is converted to an integer. The default mode for each variable is
Defines an animation variable, which represents a visual element that can be animated in multiple dimensions.
Gets the number of dimensions that the animation variable is to be animated in.
The number of dimensions.
If this method succeeds, it returns
Gets the value of the animation variable.
The value of the animation variable.
If this method succeeds, it returns
Gets the animation curve of the animation variable.
The object that generates a sequence of animation curve primitives.
If this method succeeds, it returns
The application implements the
Gets the animation curve of the animation variable for the specified dimension.
The object that generates a sequence of animation curve primitives.
The number of animation curves.
If this method succeeds, it returns
The application implements the
Gets the animation curve of the animation variable for the specified dimension.
The object that generates a sequence of animation curve primitives.
The number of animation curves.
If this method succeeds, it returns
The application implements the
Gets the final value of the animation variable. This is the value after all currently scheduled animations have completed.
The final value of the animation variable.
If this method succeeds, it returns
Gets the final value of the animation variable for the specified dimension. This is the value after all currently scheduled animations have completed.
The final value of the animation variable.
The dimension from which to get the value of the animation variable.
If this method succeeds, it returns
Gets the previous value of the animation variable. This is the value of the animation variable before the most recent update.
The previous value of the animation variable.
If this method succeeds, it returns
Gets the previous value of the animation variable for the specified dimension. This is the value of the animation variable before the most recent update.
The previous value of the animation variable.
The dimension from which to get the value of the animation variable.
If this method succeeds, it returns
Gets the integer value of the animation variable.
The value of the animation variable as an integer.
If this method succeeds, it returns
Gets the integer value of the animation variable for the specified dimension.
The value of the animation variable as an integer.
The dimension from which to get the value of the animation variable.
If this method succeeds, it returns
Gets the final integer value of the animation variable. This is the value after all currently scheduled animations have completed.
The final value of the animation variable as an integer.
If this method succeeds, it returns
Gets the final integer value of the animation variable for the specified dimension. This is the value after all currently scheduled animations have completed.
The final value of the animation variable as an integer.
The dimension from which to get the value of the animation variable.
If this method succeeds, it returns
Gets the previous integer value of the animation variable in the specified dimension. This is the value of the animation variable before the most recent update.
The previous value of the animation variable as an integer.
If this method succeeds, it returns
Gets the previous integer value of the animation variable for the specified dimension. This is the value of the animation variable before the most recent update.
The previous value of the animation variable as an integer.
The dimension from which to get the value of the animation variable.
If this method succeeds, it returns
Gets the active storyboard for the animation variable.
The active storyboard, or
If this method succeeds, it returns
Sets the lower bound (floor) for the value of the animation variable. The value of the animation variable should not fall below the specified value.
The lower bound for the value of the animation variable.
Returns
Sets the lower bound (floor) value of each specified dimension for the animation variable. The value of each animation variable should not fall below its lower bound.
A vector (of size cDimension) that contains the lower bound values of each dimension.
The number of dimensions that require lower bound values. This parameter specifies the number of values listed in bound.
Returns
Sets the upper bound (ceiling) for the value of the animation variable. The value of the animation variable should not rise above the specified value.
The upper bound for the value of the animation variable.
Returns
Sets the upper bound (ceiling) value of each specified dimension for the animation variable. The value of each animation variable should not rise above its upper bound.
A vector (of size cDimension) that contains the upper bound values of each dimension.
The number of dimensions that require upper bound values. This parameter specifies the number of values listed in bound.
Returns
Sets the rounding mode of the animation variable.
The rounding mode.
Returns
An animation variable's rounding mode determines how a floating-point value is converted to an integer. The default mode for each variable is
Sets the tag of the animation variable.
The object portion of the tag. This parameter can be
The identifier portion of the tag.
Returns
A tag is a pairing of an integer identifier (id) with a COM object (object), and it can be used by an application to identify an animation variable. Because
Gets the tag of the animation variable.
The object portion of the tag.
The identifier portion of the tag.
If this method succeeds, it returns
A tag is a pairing of an integer identifier (id) with a COM object (object); it can be used by an application to identify an animation variable.
The parameters are optional, so that the method can return both portions of the tag, or just the identifier or object portion.
Specifies a handler for changes to the value of the animation variable.
The handler for changes to the value of the animation variable. This parameter can be
If TRUE, specifies that the EstimateNextEventTime method will incorporate handler into its estimate of the time interval until the next animation event. No default value.
Returns
Passing
Specifies a handler for changes to the integer value of the animation variable.
A reference to the handler for changes to the integer value of the animation variable. This parameter can be
If TRUE, specifies that the EstimateNextEventTime method will incorporate handler into its estimate of the time interval until the next animation event. No default value.
Returns
Passing
Specifies a handler for changes to the animation curve of the animation variable.
A reference to the handler for changes to the animation curve of the animation variable. This parameter can be
Returns
Gets the number of dimensions that the animation variable is to be animated in.
Gets the value of the animation variable.
Gets the final value of the animation variable. This is the value after all currently scheduled animations have completed.
Gets the previous value of the animation variable. This is the value of the animation variable before the most recent update.
Gets the integer value of the animation variable.
Gets the final integer value of the animation variable. This is the value after all currently scheduled animations have completed.
Gets the previous integer value of the animation variable in the specified dimension. This is the value of the animation variable before the most recent update.
Gets the active storyboard for the animation variable.
Sets the lower bound (floor) for the value of the animation variable. The value of the animation variable should not fall below the specified value.
Sets the upper bound (ceiling) for the value of the animation variable. The value of the animation variable should not rise above the specified value.
Sets the rounding mode of the animation variable.
An animation variable's rounding mode determines how a floating-point value is converted to an integer. The default mode for each variable is
Defines a method for handling events related to animation variable updates.
OnValueChanged receives animation variable value updates as DOUBLE values. To receive value updates as INT32 values, use
Defines a method for handling animation variable update events.
The OnValueChanged method receives animation variable value updates as DOUBLE values. To receive value updates as INT32 values, use the
Defines a method for handling animation curve update events.
Defines a method for handling animation variable update events.
OnIntegerValueChanged receives animation variable value updates as INT32 values. To receive value updates as DOUBLE values, use the
Defines a method for handling animation variable update events.