Patent ID: 7417645

Claim:
In a computing environment, a computer-implemented method for composing vector graphics, the method comprising: an application programming interface (API) receiving a plurality of function calls for composing vector graphics, the function calls comprising calls defined by a markup language and an object model, the markup language providing a string format and an object notation for describing a resource, and the markup language comprising an element class, the element class comprising a shape class, an image class, a video class, and a canvas class, and the object model comprising a base visual object which is a container for graphical content, a container visual object which is a visual object that does not directly contain graphical content but contains one or more child drawing visual objects, and drawing visual objects which are visual objects that can contain graphical content and which comprise child objects which are organized in a zero-based, z-order space; a parser/translator a) interpreting each of string format calls and object notation calls within the markup language, b) accessing a type converter, the type converter configured to convert string format calls to visual API objects, c) adding elements to an element tree within an element and layout system, and d) communicating resource-level data to a visual API; an element and layout system translating data comprising an element tree into calls to the visual API; the visual API a) accepting input from the parser translator, from the element and layout system, and directly from non-markup programming languages, b) interfacing with a scene graph, c) being configured to create scene graph objects, and d) providing access to a compositing and animation engine; a compositing and animation engine interfacing with the visual API, and the compositing and animation engine managing the composing, animating, and rendering of the scene graph; and causing a change in a graphics display in response to the modification of data in the scene graph.