The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Feb. 12, 2002

Filed:

Feb. 04, 2000
Applicant:
Inventors:

Jerald Evans, Mountain View, CA (US);

James Graham, Sunnyvale, CA (US);

Thanh Nguyen, Palo Alto, CA (US);

Assignee:

Sun Microsystems, Inc., Palo Alto, CA (US);

Attorney:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06T 1/160 ;
U.S. Cl.
CPC ...
G06T 1/160 ;
Abstract

The present invention provides a method and apparatus that permits the introduction of customized compositing techniques into an application by a developer. A Composite interface and a CompositeContext interface are defined. Custom compositing operations can be defined by implementing these interfaces. A Composite object provides a CompositeContext object that holds the state and performs the compositing work. Multiple CompositeContext objects can be created from one Composite object to maintain separate states in a multi-threaded environment. An object implementing the Composite interface can be set as rendering state on a graphics object that provides rendering methods. This allows arbitrary compositing rules to be used by a developer. In one implementation of the Composite and CompositeContext interfaces, an AlphaComposite class is defined. The AlphaComposite class implements common compositing rules, such as defined by Porter and Duff, for combining source and destination pixels to achieve blending and transparency effects with graphics and images.


Find Patent Forward Citations

Loading…