Framework for graphics animation and compositing operations
First Claim
1. A method of processing graphical content for application programs, comprising:
- maintaining a plurality of renderable objects independently from graphical content of an application program executing on a processing device;
making the renderable objects available for rendering to a display of the processing device;
making implicit animations available for automatically animating properties of the renderable objects;
identifying a modification of at least one property of the graphical content after a change to the graphical content made by the application program;
determining at least one of the implicit animations for animating the modification of the at least one property, the at least one implicit animation being automatically determined independent of the change made by the application program and being determined based at least on what the at least one property is that is subject to the modification;
manipulating at least one of the renderable objects independently from the application program using the at least one determined animation to achieve a result for the modification when making the at least one renderable object available for rendering; and
maintaining a first data structure comprising a layer tree, the layer tree comprising a plurality of model objects in a hierarchical structure, the plurality of model objects associated with the graphical content of the application program; and
wherein the act of maintaining the plurality of renderable objects comprises maintaining a second data structure separate from the first data structure, the second data structure having the plurality of renderable objects that are based on the model objects of the first data structure and the second data structure comprising a render tree, the render tree comprising layers containing the renderable objects in a hierarchical structure; and
wherein the act of determining at least one of the implicit animations comprises determining based on state changes to affected layers in the layer tree in the first data structure.
1 Assignment
0 Petitions
Accused Products
Abstract
A framework for performing graphics animation and compositing operations has a layer tree for interfacing with the application and a render tree for interfacing with a render engine. Layers in the layer tree can be content, windows, views, video, images, text, media, or any other type of object for a user interface of an application. The application commits change to the state of the layers of the layer tree. The application does not need to include explicit code for animating the changes to the layers. Instead, an animation is determined for animating the change in state. In determining the animation, the framework can define a set of predetermined animations based on motion, visibility, and transition. The determined animation is explicitly applied to the affected layers in the render tree. A render engine renders from the render tree into a frame buffer for display on the processing device. Those portions of the render tree that have changed relative to prior versions can be tracked to improve resource management.
-
Citations
40 Claims
-
1. A method of processing graphical content for application programs, comprising:
-
maintaining a plurality of renderable objects independently from graphical content of an application program executing on a processing device; making the renderable objects available for rendering to a display of the processing device; making implicit animations available for automatically animating properties of the renderable objects; identifying a modification of at least one property of the graphical content after a change to the graphical content made by the application program; determining at least one of the implicit animations for animating the modification of the at least one property, the at least one implicit animation being automatically determined independent of the change made by the application program and being determined based at least on what the at least one property is that is subject to the modification; manipulating at least one of the renderable objects independently from the application program using the at least one determined animation to achieve a result for the modification when making the at least one renderable object available for rendering; and maintaining a first data structure comprising a layer tree, the layer tree comprising a plurality of model objects in a hierarchical structure, the plurality of model objects associated with the graphical content of the application program; and wherein the act of maintaining the plurality of renderable objects comprises maintaining a second data structure separate from the first data structure, the second data structure having the plurality of renderable objects that are based on the model objects of the first data structure and the second data structure comprising a render tree, the render tree comprising layers containing the renderable objects in a hierarchical structure; and wherein the act of determining at least one of the implicit animations comprises determining based on state changes to affected layers in the layer tree in the first data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of processing graphical content for application programs, comprising:
-
interfacing with an application program executing on a processing device; maintaining a plurality of renderable objects based on graphical content of the application program; making the renderable objects available for rendering to a display of the processing device; making implicit animations available for automatically animating properties of the renderable objects; identifying a modification of at least one property of the graphical content after a change to the graphical content made by the application program; determining at least one of the implicit animations for animating the modification of the at least one property for at least one of the renderable objects to achieve a graphical result for the modification, the at least one implicit animation being automatically determined independent of the change made by the application program and being determined based at least on what the at least one property is that is subject to the modification; and performing the at least one implicit animation on the at least one renderable object to achieve a graphical result when making the at least one renderable object available for rendering, wherein the act of interfacing with the application program comprises maintaining a first data structure comprising a layer tree, the layer tree comprising a plurality of model objects in a hierarchical structure, the plurality of model objects associated with the graphical content of the application program; and wherein the act of maintaining the plurality of renderable objects comprises maintaining a second data structure separate from the first data structure, the second data structure having the plurality of renderable objects that are based on the model objects of the first data structure and the second data structure comprising a render tree, the render tree comprising layers containing the renderable objects in a hierarchical structure; and wherein the act of determining at least one of the implicit animations comprises determining based on state changes to affected layers in the layer tree in the first data structure. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification