Framework for graphics animation and compositing operations
First Claim
1. A method of rendering a user interface of an application on a computer system, comprising:
- receiving, from an application, a notification of a change to at least one property of at least one first object, the at least one first object being associated with a user interface of the application;
changing the at least one property of the at least one first object from a first state to a second state;
recording the change of state from the first state to the second state;
evaluating a time period between the receiving and the recording;
determining, when the time period meets a threshold, at least one implicit animation from a plurality of implicit animations for animating at least one second object of a render tree structure responsive to the change from the first state to the second state, the at least one second object being associated with the at least one first object, wherein the at least one implicit animation is automatically determined independent of the application; and
rendering from the render tree structure, the at least one second object on a display of a computer system, wherein the rendering occurs at a frequency based at least in part on the threshold.
0 Assignments
0 Petitions
Accused Products
Abstract
A graphics animation and compositing operations framework 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 other type of objects for an application'"'"'s user interface. The application commits state changes of the layers of the layer tree. The application does not need to include explicit code for animating the changes to the layers. Instead, after a synchronization threshold has been met, an animation is determined for animating the change in state by the framework which 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, synchronized with the display. Portions of the render tree changing relative to prior versions can be tracked to improve resource management.
-
Citations
20 Claims
-
1. A method of rendering a user interface of an application on a computer system, comprising:
-
receiving, from an application, a notification of a change to at least one property of at least one first object, the at least one first object being associated with a user interface of the application; changing the at least one property of the at least one first object from a first state to a second state; recording the change of state from the first state to the second state; evaluating a time period between the receiving and the recording; determining, when the time period meets a threshold, at least one implicit animation from a plurality of implicit animations for animating at least one second object of a render tree structure responsive to the change from the first state to the second state, the at least one second object being associated with the at least one first object, wherein the at least one implicit animation is automatically determined independent of the application; and rendering from the render tree structure, the at least one second object on a display of a computer system, wherein the rendering occurs at a frequency based at least in part on the threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system, comprising:
-
a display device; a memory storing instructions of an application programming interface for rendering a user interface of an application; and a processor operatively coupled to the memory and the display device and adapted to execute the instructions stored in the memory to cause the processor to; receive, from the application, a notification of a change to at least one property of at least one first object, the at least one first object being associated with a user interface of the application; change the at least one property of the at least one first object from a first state to a second state; record the change of state from the first state to the second state; evaluate a time period between the receiving and the recording; determine, when the time period meets the threshold, at least one implicit animation from a plurality of implicit animations for animating at least one second object of a render tree structure responsive to the change from the first state to the second state, the at least one second object being associated with the at least one first object, wherein the at least one implicit animation is automatically determined independent of the application, and; render from the render tree structure, the at least one second object on a display of the computer system, wherein the rendering occurs at a frequency based at least in part on the threshold. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable storage medium storing instructions for rendering a user interface of an application by one or more processors, wherein the instructions, when executed, cause the one or more processors to:
-
receive, from the application, a notification of a change to at least one property of at least one first object, the at least one first object being associated with a user interface of the application; change the at least one property of the at least one first object from a first state to a second state; record the change of state from the first state to the second state; evaluate a time period between the receiving and the recording; determine, when the time period meets the threshold, at least one implicit animation from a plurality of implicit animations for animating at least one second object of a render tree structure responsive to the change from the first state to the second state, the at least one second object being associated with the at least one first object, wherein the at least one implicit animation is automatically determined independent of the application; render from the render tree structure, the at least one second object on a display of the computer system, wherein the rendering occurs at a frequency based at least in part on the threshold.
-
Specification