Framework for graphics animation and compositing operations
First Claim
1. A method of rendering a user interface of an application operating on a computer system, the method comprising:
- constructing a first data structure by interfacing with the application, the first data structure having first objects associated with the user interface of the application;
constructing a second data structure separate from the first data structure, the second data structure having second objects associated with the first objects of the first data structure;
receiving from the application a change for at least a portion of the first data structure from a first state to a second state;
changing the portion of first data structure from the first state to the second state;
determining an animation for animating the change of the portion of the first data structure from the first state to the second state; and
rendering from the second data structure for display with the computer system by implementing the determined animation on the second data structure.
2 Assignments
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 computer system. Those portions of the render tree that have changed relative to prior versions can be tracked to improve resource management.
-
Citations
26 Claims
-
1. A method of rendering a user interface of an application operating on a computer system, the method comprising:
-
constructing a first data structure by interfacing with the application, the first data structure having first objects associated with the user interface of the application; constructing a second data structure separate from the first data structure, the second data structure having second objects associated with the first objects of the first data structure; receiving from the application a change for at least a portion of the first data structure from a first state to a second state; changing the portion of first data structure from the first state to the second state; determining an animation for animating the change of the portion of the first data structure from the first state to the second state; and rendering from the second data structure for display with the computer system by implementing the determined animation on the second data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An application programming interface framework for rendering a user interface of an application operating on a computer system, the framework comprising:
-
a first process configured to— interface with the application, construct a first data structure of first objects based on the user interface of the application, change states of the first objects in the first data structure in response to changes received from the application; a second process configured to construct a second data structure of second objects associated with the first objects of the first data structure; an animation and compositing process configured to— determine one or more animations for animating the changes in states to the first objects in the first data structure; and implement the one or more animations on the associated second objects in the second data structure; and a render engine configured to render the second data structure of the second objects and implemented animation for display with the computer system.
-
-
20. An application programming interface framework for a computer system, comprising:
-
a first interface interfacing with an application and building a first representation of a user interface of an application, the first interface receiving a change in state of an object of the user interface of the application and implementing the change in state to the first representation of the user interface; a second interface interfacing with the first interface and receiving the change in state of the first representation of the user interface, the second interface determining an animation for animating the change in state; and a third interface interfacing with the second interface and building a second representation of the user interface of the application, the second interface implementing the animation in the second representation of the user interface and making the second representation available for rendering by the computer system.
-
-
21. A method of handling memory for rendering a user interface of an application on a computer system, the method comprising
storing user interface information from the application to a first buffer; -
receiving a first update region to the user interface information from the application; storing the user interface information from the first buffer into a second buffer except for the first update region; rendering from the second buffer for display on the computer system; and marking the first buffer as purgeable. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification