# US 8,786,628 B2 · Rendering electronic chart objects

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,786,628 B2
- Document ID: US8786628B2
- Status: Granted
- Kind: B2
- Application number: 12/049,280
- Filed: 2008-03-15
- Published: 2009-03-19
- Granted: 2014-07-22
- Earliest claimed: 2007-09-14
- Assignees: Microsoft Corporation
- Applicants: Benjamin Edward Rampson; Randall L. Davis; B. Scott Ruble; Daniel Philip Cory; Andrew John Verprauskus; Barry Christopher Allyn; Marcus Eduardo Markiewicz; Matthew John Androski
- Inventors: Benjamin Edward Rampson; Randall L. Davis; B. Scott Ruble; Daniel Philip Cory; Andrew John Verprauskus; Barry Christopher Allyn; Marcus Eduardo Markiewicz; Matthew John Androski
- Web page: https://patentgrep.com/patent/US8786628B2

## CPC

- G06T 11/26: Drawing of charts or graphs
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Rendering electronic chart objects is provided. A set of chart elements having a common set of properties is identified. Formatting attributes of the chart elements and the data point locations for each chart element are also identified. Path information is generated for the chart elements that includes the formatting attributes and the data point locations. The path information is provided to a rendering engine that renders a chart element. Each chart element in the set is displayed on a display screen. Chart elements having a common set of properties are only rendered once. Alternatively, chart objects are rendered by generating and storing an image of chart objects having a common geometry and common properties and by copying the stored image to each data point location. Dynamic selection of rendering engines based on property and performance criteria may be utilized to enhance rendering performance.

## Claims

### Claim 1

A method for rendering a single element view of an electronic chart object, the method comprising:
identifying, by a computing device, a set of chart elements that have a common set of properties;
determining, by a computing device, a plurality of data point locations for each chart element in the set of chart elements;
generating, by a computing device, a path information for each of the chart elements, the path information comprising each of the plurality of data point locations for each chart element;
providing, by a computing device, the path information to a rendering engine selected for rendering the set of chart elements, wherein the selected rendering engine is optimized relative to a plurality of properties associated with the set of chart elements;
rendering the path information by the selected rendering, by a computing device, engine for display as a single shape, wherein each subsequent chart element of the set of chart elements is rendered as a continuation of a previous chart element of the set of chart elements.

### Claim 2 (depends on 1)

The method of claim 1, further comprising identifying formatting attributes for the set of chart elements.

### Claim 3 (depends on 2)

The method of claim 2, wherein rendering each chart element in the set of chart elements for display comprises displaying those of the plurality of data points visible on a display screen and applying the formatting attributes to each chart element in the set of chart elements visible on the display screen.

### Claim 4 (depends on 1)

The method of claim 1, wherein the rendering engine is dynamically selected from a plurality of rendering engines based on a comparison of the common set of properties and the capabilities of the plurality of rendering engines.

### Claim 5 (depends on 1)

The method of claim 1, wherein the plurality of data point locations comprise position coordinates for each chart element in the set of chart elements, wherein the position coordinates define a shape of each chart element.

### Claim 6 (depends on 5)

The method of claim 5, wherein the shape is formed by connecting the position coordinates for each of the plurality of data point locations.

### Claim 7 (depends on 1)

The method of claim 1, further comprising identifying a plurality of sets of chart elements, each of the plurality of sets of chart elements having a common set of properties, and rendering a plurality of chart elements, wherein chart elements having a common set of properties are only rendered once.

### Claim 8 (depends on 7)

The method of claim 7, further comprising identifying formatting attributes for each of the plurality of sets of chart elements.

### Claim 9 (depends on 7)

The method of claim 7, wherein rendering the single chart element wherein each chart element in the set of chart elements is visible on a display screen, but wherein a portion of the path between each chart element in the set of chart elements is not visible on the display screen includes displaying a single chart element for each of the plurality of sets of chart elements wherein each chart element in each of the plurality of sets of chart elements is visible on a display screen, but wherein a portion of the path between each chart element in each of the plurality of sets of chart elements is not visible on the display screen.

### Claim 10 (depends on 7)

The method of claim 7, wherein the rendering engine is dynamically selected from a plurality of rendering engines based on a comparison of the common set of properties and the capabilities of the plurality of rendering engines.

### Claim 11

A computing device for rendering a single element view of an electronic chart object, comprising:
a memory storage; and
a processing unit coupled to the memory storage, wherein the processing unit is operative to:
identify a set of chart elements that have a common set of properties;
determine a plurality of data point locations for each chart element in the set of chart elements;
generate a path information for each of the chart elements, the path information comprising each of the plurality of data point locations for each chart element;
provide the path information to a rendering engine selected for rendering the set of chart elements, wherein the selected rendering engine is optimized relative to a plurality of properties associated with the set of chart elements;
render the path information by the selected rendering engine for display as a single shape, wherein each subsequent chart element of the set of chart elements is rendered as a continuation of a previous chart element of the set of chart elements.

### Claim 12 (depends on 11)

The computing device of claim 11, wherein the processor is further operative to identify formatting attributes for the set of chart elements.

### Claim 13 (depends on 12)

The computing device of claim 12, wherein the processor, in rendering each chart element in the set of chart elements for display, is operative to display those of the plurality of data points visible on a display screen and apply the formatting attributes to each chart element in the set of chart elements visible on the display screen.

### Claim 14 (depends on 11)

The computing device of claim 11, wherein the rendering engine is dynamically selected from a plurality of rendering engines based on a comparison of the common set of properties and the capabilities of the plurality of rendering engines.

### Claim 15 (depends on 11)

The computing device of claim 11, wherein the plurality of data point locations comprise position coordinates for each chart element in the set of chart elements, wherein the position coordinates define a shape of each chart element.

### Claim 16

A computer-readable storage device which stores a set of instructions which when executed performs a method for rendering a single element view of an electronic chart object, the method executed by the set of instructions comprising:
identifying a set of chart elements that have a common set of properties;
determining a plurality of data point locations for each chart element in the set of chart elements;
generating a path information for each of the chart elements, the path information comprising each of the plurality of data point locations for each chart element;
providing the path information to a rendering engine selected for rendering the set of chart elements, wherein the selected rendering engine is optimized relative to a plurality of properties associated with the set of chart elements;
rendering the path information by the selected rendering engine for display as a single shape, wherein each subsequent chart element of the set of chart elements is rendered as a continuation of a previous chart element of the set of chart elements.

### Claim 17 (depends on 16)

The computer-readable storage device of claim 16, further comprising identifying formatting attributes for the set of chart elements.

### Claim 18 (depends on 17)

The computer-readable storage device of claim 17, wherein rendering each chart element in the set of chart elements for display comprises displaying those of the plurality of data points visible on a display screen and applying the formatting attributes to each chart element in the set of chart elements visible on the display screen.

### Claim 19 (depends on 16)

The computer-readable storage device of claim 16, wherein the rendering engine is dynamically selected from a plurality of rendering engines based on a comparison of the common set of properties and the capabilities of the plurality of rendering engines.

### Claim 20 (depends on 16)

The computer-readable storage device of claim 16, wherein the plurality of data point locations comprise position coordinates for each chart element in the set of chart elements, wherein the position coordinates define a shape of each chart element.
