IP Library › Granted Patent US 7,262,775
Granted Patent B2
US 7,262,775 · App. 10/693,830 · Granted Aug 28, 2007

System supporting animation of graphical display elements through animation object instances

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,262,775
App. No.
10/693,830
Granted
Aug 28, 2007
Kind
B2
Abstract

A graphical display animation system is disclosed that supports timed modification of element property values of elements within a graphical display. The animation system utilizes a display structure for maintaining a set of elements corresponding to displayed objects within a graphically displayed scene. The elements include a variable property value. The animation system also utilizes a property system that maintains properties associated with elements maintained by the display structure. The properties include dynamic properties that are capable of changing over time—and thus affecting the appearance of the corresponding element on a graphical display. The animation system includes animation classes, from which animation objects are instantiated and associated with an element property at runtime. The animation object instances provide time varying values affecting values assigned to the dynamic properties maintained by the property system.

Claims (58)

1. A computer-readable medium which stores a set of instructions which when executed performs a method for supporting timed modification of element property values, the method comprising:

an animation object class, from which an animation object is initiated, providing a time-varying value definition and including an interface supporting designating:

animation behavior properties, the animation behavior properties comprising a base property value, a to property specifying an ending animation value, a from property specifying a starting animation value, and a by property specifying a difference between the ending animation value and the starting animation value wherein, to initiate the animation object, the animation object class use a process that receives the base property value and returns a value based on the process's internal modifier definition computation of a progress value;

timing properties, the timing properties comprising a current time property configured to provide a current local time to a timeline for the animation object and a parent time line property configured to designate a timeline that is the timing parent of the animation object's timeline;

a set of commands controlling the progression of the animation displayed on a display device; and

a set of events for providing notifications relating to the status of the animation object.

2. The computer-readable medium of claim 1 further comprising an animation collection object class providing a container for a set of animation objects created from the animation object class, the animation collection object class including an interface supporting designating:

animation collection properties defining:

the set of animation objects within an animation collection object;

a current status of the animation collection object; and animation collection methods for:

configuring the set of animation objects within the animation collection object; and

retrieving a current animation collection value derived from individual values provided by the set of animation objects.

3. The computer-readable medium of claim 1 further comprising a key frame object class for specifying a key frame property within an animation object, the key frame object class including:

a set of properties enabling designating:

a key spline;

a key time; and

a value.

4. The computer-readable medium of claim 3 further comprising a key frame collection object class for specifying a set of key frame objects for specifying a sequence of frames within a timeline for an animation object.

5. The computer-readable medium of claim 1 wherein a float animation object class provides a time changing floating point value.

6. The computer-readable medium of claim 1 wherein a double animation object class provides a time-changing double precision floating point value.

7. The computer-readable medium of claim 1 wherein a rectangle animation object class provides a time-changing top, left position of a defined rectangle.

8. The computer-readable medium of claim 1 wherein a color animation object class provides a time-changing color value.

9. The computer-readable medium of claim 1 wherein a Boolean animation class provides a time-changing Boolean value.

10. The computer-readable medium of claim 1 wherein the process comprises a GetValue method.

11. A method for supporting timed modification of element property values, the method comprising:

an animation object class, from which an animation object is initiated, providing a time-varying value definition and including an interface supporting designating:

animation behavior properties, the animation behavior properties comprising a base property value, a to property specifying an ending animation value, a from property specifying a starting animation value, and a by property specifying a difference between the ending animation value and the starting animation value wherein, to initiate the animation object, the animation object class use a process that receives the base property value and returns a value based on the process's internal modifier definition computation of a progress value wherein the process comprises a GetValue method;

timing properties, the timing properties comprising a current time property configured to provide a current local time to a timeline for the animation object and a parent time line property configured to designate a timeline that is the timing parent of the animation object's timeline;

a set of commands controlling the progression of the animation displayed on a display device; and

a set of events for providing notifications relating to the status of the animation object.

12. The method of claim 11 further comprising an animation collection object class providing a container for a set of animation objects created from the animation object class, the animation collection object class including an interface supporting designating:

animation collection properties defining:

the set of animation objects within an animation collection object;

a current status of the animation collection object; and

animation collection methods for:

configuring the set of animation objects within the animation collection object; and

retrieving a current animation collection value derived from individual values provided by the set of animation objects.

13. The method of claim 11 further comprising a key frame object class for specifying a key frame property within an animation object, the key frame object class including:

a set of properties enabling designating:

a key spline;

a key time; and

a value.

14. The method of claim 13 further comprising a key frame collection object class for specifying a set of key frame objects for specifying a sequence of frames within a timeline for an animation object.

15. The method of claim 11 wherein a float animation object class provides a time changing floating point value.

16. The method of claim 11 wherein a double animation object class provides a time-changing double precision floating point value.

17. The method of claim 11 wherein a rectangle animation object class provides a time-changing top, left position of a defined rectangle.

18. The method of claim 11 wherein a color animation object class provides a time-changing color value.

19. The method of claim 11 wherein a Boolean animation class provides a time-changing Boolean value.

20. A system for supporting timed modification of element property values, the system comprising:

a memory storage for maintaining a database; and

a processing unit coupled to the memory storage, wherein the processing unit is operative to:

initiate an animation object from an animation object class;

provide a time-varying value definition; and

designate via an interface:

animation behavior properties, the animation behavior properties comprising a base property value, a to property specifying an ending animation value, a from property specifying a starting animation value, and a by property specifying a difference between the ending animation value and the starting animation value wherein, to initiate the animation object, the animation object class use a process that receives the base property value and returns a value based on the process's internal modifier definition computation of a progress value;

timing properties, the timing properties comprising a current time property configured to provide a current local time to a timeline for the animation object and a parent time line property configured to designate a timeline that is the timing parent of the animation object's timeline;

a set of commands controlling the progression of the animation displayed on a display device; and

a set of events for providing notifications relating to the status of the animation object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2004
From: CALKINS, MATT; BEDA, JOSEPH STEPHEN III; GALLO, KEVIN; WONG, GILMAN K.; BLANCO, LEONARDO ESTEBAN
To: MICROSOFT CORPORATION
Reel/Frame 014779/0417 →
Continuity (2)
Continuation In Part 1043471800 · May 9, 2003
Related Publication 20040233201A1 · Nov 25, 2004