Claims
- 1. In a computing environment, a system comprising:
a first component that receives clock data from a program; an interval generation mechanism that computes interval data based on the clock data; and a second component that receives the interval data and determines an output based on the interval data and current time data.
- 2. The system of claim 1 wherein the output corresponds to a progress of an animation having an animated characteristic.
- 3. The system of claim 1 wherein the second component determines the output by interpolating a current progress value for the animated characteristic.
- 4. The system of claim 1 wherein the second component computes the output at a fast operating rate relative to an operating rate of the first component.
- 5. The system of claim 1 further comprising an event list generation mechanism, wherein the interval generation mechanism computes the interval data from an event list provided by the event list generation mechanism, the event list based on the clock data.
- 6. The system of claim 5 wherein the first component receives an interactive event, and wherein the event list generation mechanism further adds the interactive event into the event list.
- 7. The system of claim 6 wherein the event list generation mechanism further adds at least one implicit event into the event list.
- 8. The system of claim 6 wherein the event list generation mechanism marks at least one event in the event list as unused, the interval generation mechanism not using an unused event in computing the interval data.
- 9. The system of claim 1 wherein the clock data comprises property information corresponding to a begin time value and a duration.
- 10. The system of claim 1 wherein the clock data comprises property information corresponding to a repeat count.
- 11. The system of claim 1 wherein the clock data comprises property information corresponding to a reverse instruction.
- 12. The system of claim 1 wherein the clock data comprises property information corresponding to acceleration data.
- 13. The system of claim 1 wherein the clock data comprises property information corresponding to deceleration data.
- 14. The system of claim 1 wherein the clock data comprises property information corresponding to a seek instruction.
- 15. The system of claim 1 wherein the clock data comprises property information corresponding to speed data.
- 16. The system of claim 1 wherein the clock data comprises property information corresponding to function data.
- 17. The system of claim 1 wherein the first component and second component execute on different threads.
- 18. In a computing environment, a method comprising:
receiving clock data; generating interval data based on the clock data; and causing output to be produced based on current time data and the interval data.
- 19. The method of claim 18 wherein causing output to be produced based on the current time data and the interval data comprises, determining an interval, and determining a progress value within that interval.
- 20. The method of claim 19 further comprising, causing an animation property value to be determined based on the progress value, such that the animation property value varies as the current time varies.
- 21. The method of claim 18 wherein generating interval data based on the clock data includes, building an event list based on the clock data, and processing the event list to generate the interval data.
- 22. The method of claim 21 further comprising receiving an interactive event, and further comprising, building a modified event list based on the clock data and the interactive event.
- 23. The method of claim 22 wherein building a modified event list comprises adding an implicit event based on the interactive event.
- 24. The method of claim 22 further comprising, marking an event as unused based on the interactive event.
- 25. The method of claim 18 wherein causing output to be produced based on current time data and the interval data comprises constructing a frame at a rate that corresponds to a frame refresh rate of a graphics subsystem.
- 26. A computer-readable medium having computer-executable instructions for performing the method of claim 18.
- 27. A computer-readable medium having stored thereon a data structure, the data structure comprising:
a first field having data indicative of begin time; a second field having data indicative of an initial progress value; a third field having data indicative of an end time; a fourth field having data indicative of an final progress value; and wherein a current time between the begin time and the end time is used to interpolate a progress value between the initial progress value and the final progress value.
- 28. The data structure of claim 27 further comprising a fifth field indicative of an iteration.
- 29. In a computing environment, a method comprising:
generating an event list based on scheduled events and at least one interactive event; computing an interval list based on the event list; determining a current interval in the interval list based on a time value; and processing data associated with the current interval to produce an output based on the time value.
- 30. The method of claim 29 wherein generating the event list comprises receiving clock properties.
- 31. The method of claim 30 further comprising, generating another event list based on a relationship between the clock properties and properties of another clock.
- 32. The method of claim 29 wherein generating the event list comprises determining how a current state is modified by an event, and when the event modifies the current state to another state that cannot be directly transition ed to by that event, inserting at least one implicit event to transition the current state to the other state via an intermediate state.
- 33. The method of claim 32 wherein the current state is paused, the event corresponds to a begin event, and wherein inserting at least one implicit event comprises inserting an end event before the begin event such that the state transitions to the intermediate state comprising the inactive state transitions before transitioning to the other state corresponding to the active state.
- 34. The method of claim 29 wherein generating the event list comprises completing an iteration by inserting an implicit end event into the event list and starting a next iteration by inserting an implicit begin event into the event list.
- 35. The method of claim 29 wherein generating the event list comprises, marking an event as unused when the event will not change a state of operation.
- 36. A computer-readable medium having computer-executable instructions for performing the method of claim 29.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is a continuation-in-part of U.S. patent application Ser. No. 10/184,795, filed Jun. 27, 2002, which claims priority to U.S. Provisional Patent Application Serial No. 60/330,244, filed Oct. 18, 2001, herein incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60330244 |
Oct 2001 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10184795 |
Jun 2002 |
US |
Child |
10693822 |
Oct 2003 |
US |