Functional presentation layer in a lightweight client architecture
AssigneeMobiTV, Inc.
InventorsJames Roseborough, Ian Farmer
Life of this patent
Estimating the term…
Abstract
A device generates an immutable display graph with leaves of the display graph representing low-level graphical operations such as drawings lines or a bitmap and nodes of the display graph representing translation and clipping. Because the display graph is immutable, it can be cached, shared, and rendered quickly. The structure of the display remains fixed, but elements such as rectangle fill, text position, clipping area, translation, and image location, remain time varying and can change without affecting the structure of the display.
Claims20
A method, comprising:
- generating an immutable display graph, wherein the immutable display graph is shared by a plurality of threads in an application running on a device, wherein the immutable display graph is cached and shared by the plurality of threads in the application when an element appears multiple times in the same application, wherein leaves of the immutable display graph represent low-level graphical operations including drawings lines and wherein nodes of the immutable display graph represent transformational operations including translation and clipping;
- rendering a display using the immutable display graph, wherein the display is a user interface display, wherein partial display of the immutable display graph is prevented once a root paint op is set, wherein a client layer sets the root paint op which represents a change of visual appearance and guarantees that a complete scene is ready for rendering;
- receiving a time varying element associated with the immutable display graph;
- rendering the time varying element as a paint variable associated with time varying element changes.
A device, comprising:
- a processor operable to generate an immutable display graph shared by a plurality of threads in an application running on the device running on a device, wherein the immutable display graph is cached and shared by the plurality of threads in the application when an element appears multiple times in the same application, wherein leaves of the immutable display graph represent low-level graphical operations including drawings lines and wherein nodes of the immutable display graph represent transformational operations including translation and clipping, wherein the processor is further operable to render a display using the immutable display graph, wherein the display is a user interface display, wherein partial display of the immutable display graph is prevented once a root paint op is set, wherein a client layer sets the root paint op which represents a change of visual appearance and guarantees that a complete scene is ready for rendering;
- an interface operable to receive a time varying element associated with the immutable display graph;
- wherein the processor is further operable to render the time varying element as a paint variable associated with time varying element changes.
A non-transitory computer readable medium, comprising:
- computer code for generating an immutable display graph, wherein the immutable display graph is shared by a plurality of threads in an application running on a device, wherein the immutable display graph is cached and shared by the plurality of threads in the application when an element appears multiple times in the same application, wherein leaves of the immutable display graph represent low-level graphical operations including drawings lines and wherein nodes of the immutable display graph represent transformational operations including translation and clipping;
- computer code for rendering a display using the immutable display graph, wherein the display is a user interface display, wherein partial display of the immutable display graph is prevented once a root paint op is set, wherein a client layer sets the root paint op which represents a change of visual appearance and guarantees that a complete scene is ready for rendering;
- computer code for receiving a time varying element associated with the immutable display graph;
- computer code for rendering the time varying element as a paint variable associated with time varying element changes.
Dependencies are inferred from the claim text.