javax.tv.graphics
Class AlphaColor

java.lang.Object
  extended by java.awt.Color
      extended by javax.tv.graphics.AlphaColor
All Implemented Interfaces:
Transparency, Serializable
Direct Known Subclasses:
DVBColor

public class AlphaColor
extends Color

A class that allows a very simple, interoperable form of compositing. This is achieved by setting an alpha value for alpha blending on a color. Higher alpha values indicate greater opacity of the color; lower values indicate greater transparency. The alpha value will be respected by all instances of java.awt.Graphics given to applications.

In the final composition between the graphics and video, the underlying video stream will be alpha-blended with the AWT graphics plane using that pixel's alpha value by default, i.e. source over compositing will be used between the video plane and the AWT graphics plane by default. This behavior can be changed using other APIs, possibly APIs defined outside of Java TV.

This API supports up to 256 levels of alpha blending. However, an individual graphics system may support fewer levels. Such systems will round the alpha value specified in an AlphaColor constructor to some nearest value when the AlphaColor instance is used, e.g. rounding to the nearest implemented alpha value.

Systems on which alpha blending is not supported will interpret alpha values other than 255 as if they were 255 (opaque) instead.

The actual color used in rendering will depend on finding the best match given the color space available for a given output device.

Within the AWT graphics plane, the actual compositing done will be platform-dependent.

Version:
1.13, 10/24/05
See Also:
Color.getAlpha(), Serialized Form

Field Summary
 
Fields inherited from class java.awt.Color
black, BLACK, blue, BLUE, cyan, CYAN, DARK_GRAY, darkGray, gray, GRAY, green, GREEN, LIGHT_GRAY, lightGray, magenta, MAGENTA, orange, ORANGE, pink, PINK, red, RED, white, WHITE, yellow, YELLOW
 
Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
 
Constructor Summary
AlphaColor(Color c)
          Constructs a new AlphaColor using the specified java.awt.Color.
AlphaColor(float r, float g, float b, float a)
          Creates an sRGB color with the specified red, green, blue, and alpha values in the range [0.0 - 1.0].
AlphaColor(int argb, boolean hasAlpha)
          Creates an sRGB color with the specified combined RGBA value consisting of the alpha component in bits 24-31, the red component in bits 16-23, the green component in bits 8-15, and the blue component in bits 0-7.
AlphaColor(int r, int g, int b, int a)
          Creates an sRGB color with the specified red, green, blue, and alpha values in the range 0-255, inclusive.
 
Method Summary
 Color brighter()
          Creates a brighter version of this color.
 Color darker()
          Creates a darker version of this color.
 
Methods inherited from class java.awt.Color
decode, equals, getAlpha, getBlue, getColor, getColor, getColor, getColorComponents, getColorSpace, getComponents, getGreen, getHSBColor, getRed, getRGB, getRGBColorComponents, getRGBComponents, getTransparency, hashCode, HSBtoRGB, RGBtoHSB, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AlphaColor

public AlphaColor(float r,
                  float g,
                  float b,
                  float a)
Creates an sRGB color with the specified red, green, blue, and alpha values in the range [0.0 - 1.0].

Parameters:
r - The red component.
g - The green component.
b - The blue component.
a - The alpha component.
Throws:
IllegalArgumentException - If any of the input parameters are outside the range [0.0 - 1.0].
See Also:
Color.getRed(), Color.getGreen(), Color.getBlue(), Color.getAlpha(), Color.getRGB()

AlphaColor

public AlphaColor(int r,
                  int g,
                  int b,
                  int a)
Creates an sRGB color with the specified red, green, blue, and alpha values in the range 0-255, inclusive.

Parameters:
r - The red component.
g - The green component.
b - The blue component.
a - The alpha component.
Throws:
IllegalArgumentException - If any of the input parameters are outside the range [0 - 255].
See Also:
Color.getRed(), Color.getGreen(), Color.getBlue(), Color.getAlpha(), Color.getRGB()

AlphaColor

public AlphaColor(int argb,
                  boolean hasAlpha)
Creates an sRGB color with the specified combined RGBA value consisting of the alpha component in bits 24-31, the red component in bits 16-23, the green component in bits 8-15, and the blue component in bits 0-7. If the hasAlpha argument is false, alpha is set to 255.

Parameters:
argb - The combined ARGB components
hasAlpha - true if the alpha bits are to be used, false otherwise.
See Also:
Color.getRed(), Color.getGreen(), Color.getBlue(), Color.getAlpha(), Color.getRGB()

AlphaColor

public AlphaColor(Color c)
Constructs a new AlphaColor using the specified java.awt.Color. If this color has no alpha value, alpha will be set to 255 (opaque).

Parameters:
c - the color
Method Detail

brighter

public Color brighter()
Creates a brighter version of this color. The alpha value of the original AlphaColor are preserved.

Although brighter and darker are inverse operations, the results of a series of invocations of these two methods may be inconsistent because of rounding errors.

Overrides:
brighter in class Color
Returns:
A new AlphaColor object
See Also:
darker()

darker

public Color darker()
Creates a darker version of this color. The alpha value of the original AlphaColor are preserved.

Although brighter and darker are inverse operations, the results of a series of invocations of these two methods may be inconsistent because of rounding errors.

Overrides:
darker in class Color
Returns:
A new AlphaColor object
See Also:
brighter()


Copyright © 2011. All Rights Reserved.