APIdia Launch Partner
Top Description Fields Constructors Methods
sun.java2d.loops

public final Class SurfaceType

extends Object
Class Inheritance
Imports
java.awt.image.ColorModel, sun.awt.image.PixelConverter, java.util.HashMap

A SurfaceType object provides a chained description of a type of drawing surface. The object will provide a single String constant descriptor which is one way of viewing or accessing a particular drawing surface as well as a pointer to another SurfaceType which describes the same drawing surface in a different (typically more generalized) way.

A more specific description of a surface is considered a "subtype" and a more general description is considered a "supertype". Thus, the deriveSubType method provides a way to create a new SurfaceType that is related to but more specific than an existing SurfaceType and the getSuperType method provides a way to ask a given SurfaceType for a more general way to describe the same surface.

Note that you cannot construct a brand new root for a chain since the constructor is private. Every chain of types must at some point derive from the Any node provided here using the deriveSubType() method. The presence of this common Any node on every chain ensures that all chains end with the DESC_ANY descriptor so that a suitable General GraphicsPrimitive object can be obtained for the indicated surface if all of the more specific searches fail.

Field Summary

Modifier and TypeField and Description
public static final SurfaceType
Any

The root SurfaceType object for all chains of surface descriptions.

public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
private String
public static final String
public static final String
DESC_3BYTE_RGB

additional 3 byte format common on Windows

public static final String
public static final String
public static final String
DESC_ANY

surface is unknown color model or sample model.

public static final String
DESC_ANY_3BYTE

wildcard format which indicates that the GraphicsPrimitive operates on a surface with 3 component interleaved Raster and sample model and a ComponentColorModel with an arbitrary ordering of the RGB channels

public static final String
DESC_ANY_4BYTE

wildcard format which indicates that the GraphicsPrimitive operates on a surface with 4 component interleaved Raster and sample model and a ComponentColorModel with an arbitrary ordering of the ARGB channels

public static final String
DESC_ANY_BYTE

wildcard format which indicates that the GraphicsPrimitive is independent of the color model on a ByteComponent sample model surface

public static final String
public static final String
DESC_ANY_INT

wildcard format which indicates that the GraphicsPrimitive is independent of the color model on an IntegerComponent sample model surface

public static final String
DESC_ANY_INT_DCM

wildcard format which indicates that the GraphicsPrimitive operates on a surface with a single component IntegerComponent sample model and a DirectColorModel with an arbitrary ordering of the RGB channels

public static final String
DESC_ANY_PAINT

Special type for describing the sources of loops that render the current foreground color or paint instead of copying colors from a source surface.

public static final String
DESC_ANY_SHORT

wildcard format which indicates that the GraphicsPrimitive is independent of the color model on a ShortComponent sample model surface

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
DESC_BYTE_INDEXED_OPAQUE

Opaque 8-bit indexed images

public static final String
public static final String
public static final String
DESC_INDEX8_GRAY

Special Gray Scale types for rendering loops.

public static final String
public static final String
DESC_INT_ARGB_BM

common formats for BITMASK transparency.

public static final String
public static final String
public static final String
public static final String
DESC_INT_RGB

common surface formats defined in BufferedImage

public static final String
DESC_INT_RGBx

additional IntegerComponent types common on Windows

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
private SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
protected PixelConverter
public static final SurfaceType
private static HashMap<String, Integer>
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
private int
private static int
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType
public static final SurfaceType

Constructor Summary

AccessConstructor and Description
private
SurfaceType(SurfaceType parent, String desc, PixelConverter pixelConverter)

private

Method Summary

Modifier and TypeMethod and Description
public SurfaceType
deriveSubType(String desc)

Return a new SurfaceType object which uses this object as its more general "supertype" descriptor.

public SurfaceType
deriveSubType(String desc, PixelConverter pixelConverter)

public boolean
equals(Object o)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public int
public String
public PixelConverter
public SurfaceType
public int
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public static synchronized int
public int
pixelFor(int rgb, ColorModel cm)

public int
rgbFor(int pixel, ColorModel cm)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

Anyback to summary
public static final SurfaceType Any

The root SurfaceType object for all chains of surface descriptions. The root uses the default PixelConverter object, which uses a given ColorModel object to calculate its pixelFor() values when asked. Any SurfaceType objects that are not created with a specific PixelConverter object will inherit this behavior from the root.

Any3Byteback to summary
public static final SurfaceType Any3Byte
Any4Byteback to summary
public static final SurfaceType Any4Byte
AnyByteback to summary
public static final SurfaceType AnyByte
AnyByteBinaryback to summary
public static final SurfaceType AnyByteBinary
AnyColorback to summary
public static final SurfaceType AnyColor
AnyDcmback to summary
public static final SurfaceType AnyDcm
AnyIntback to summary
public static final SurfaceType AnyInt
AnyPaintback to summary
public static final SurfaceType AnyPaint
AnyShortback to summary
public static final SurfaceType AnyShort
ByteBinary1Bitback to summary
public static final SurfaceType ByteBinary1Bit
ByteBinary2Bitback to summary
public static final SurfaceType ByteBinary2Bit
ByteBinary4Bitback to summary
public static final SurfaceType ByteBinary4Bit
ByteGrayback to summary
public static final SurfaceType ByteGray
ByteIndexedback to summary
public static final SurfaceType ByteIndexed
ByteIndexedBmback to summary
public static final SurfaceType ByteIndexedBm
ByteIndexedOpaqueback to summary
public static final SurfaceType ByteIndexedOpaque
Customback to summary
public static final SurfaceType Custom
descback to summary
private String desc
DESC_3BYTE_BGRback to summary
public static final String DESC_3BYTE_BGR
DESC_3BYTE_RGBback to summary
public static final String DESC_3BYTE_RGB

additional 3 byte format common on Windows

DESC_4BYTE_ABGRback to summary
public static final String DESC_4BYTE_ABGR
DESC_4BYTE_ABGR_PREback to summary
public static final String DESC_4BYTE_ABGR_PRE
DESC_ANYback to summary
public static final String DESC_ANY

surface is unknown color model or sample model.

DESC_ANY_3BYTEback to summary
public static final String DESC_ANY_3BYTE

wildcard format which indicates that the GraphicsPrimitive operates on a surface with 3 component interleaved Raster and sample model and a ComponentColorModel with an arbitrary ordering of the RGB channels

DESC_ANY_4BYTEback to summary
public static final String DESC_ANY_4BYTE

wildcard format which indicates that the GraphicsPrimitive operates on a surface with 4 component interleaved Raster and sample model and a ComponentColorModel with an arbitrary ordering of the ARGB channels

DESC_ANY_BYTEback to summary
public static final String DESC_ANY_BYTE

wildcard format which indicates that the GraphicsPrimitive is independent of the color model on a ByteComponent sample model surface

DESC_ANY_COLORback to summary
public static final String DESC_ANY_COLOR
DESC_ANY_INTback to summary
public static final String DESC_ANY_INT

wildcard format which indicates that the GraphicsPrimitive is independent of the color model on an IntegerComponent sample model surface

DESC_ANY_INT_DCMback to summary
public static final String DESC_ANY_INT_DCM

wildcard format which indicates that the GraphicsPrimitive operates on a surface with a single component IntegerComponent sample model and a DirectColorModel with an arbitrary ordering of the RGB channels

DESC_ANY_PAINTback to summary
public static final String DESC_ANY_PAINT

Special type for describing the sources of loops that render the current foreground color or paint instead of copying colors from a source surface.

DESC_ANY_SHORTback to summary
public static final String DESC_ANY_SHORT

wildcard format which indicates that the GraphicsPrimitive is independent of the color model on a ShortComponent sample model surface

DESC_BYTE_BINARYback to summary
public static final String DESC_BYTE_BINARY
DESC_BYTE_BINARY_1BITback to summary
public static final String DESC_BYTE_BINARY_1BIT
DESC_BYTE_BINARY_2BITback to summary
public static final String DESC_BYTE_BINARY_2BIT
DESC_BYTE_BINARY_4BITback to summary
public static final String DESC_BYTE_BINARY_4BIT
DESC_BYTE_GRAYback to summary
public static final String DESC_BYTE_GRAY
DESC_BYTE_INDEXEDback to summary
public static final String DESC_BYTE_INDEXED
DESC_BYTE_INDEXED_BMback to summary
public static final String DESC_BYTE_INDEXED_BM
DESC_BYTE_INDEXED_OPAQUEback to summary
public static final String DESC_BYTE_INDEXED_OPAQUE

Opaque 8-bit indexed images

DESC_GRADIENT_PAINTback to summary
public static final String DESC_GRADIENT_PAINT
DESC_INDEX12_GRAYback to summary
public static final String DESC_INDEX12_GRAY
DESC_INDEX8_GRAYback to summary
public static final String DESC_INDEX8_GRAY

Special Gray Scale types for rendering loops. Really indexed types, but colormap has all gray values.

DESC_INT_ARGBback to summary
public static final String DESC_INT_ARGB
DESC_INT_ARGB_BMback to summary
public static final String DESC_INT_ARGB_BM

common formats for BITMASK transparency.

DESC_INT_ARGB_PREback to summary
public static final String DESC_INT_ARGB_PRE
DESC_INT_BGRback to summary
public static final String DESC_INT_BGR
DESC_INT_BGRxback to summary
public static final String DESC_INT_BGRx
DESC_INT_RGBback to summary
public static final String DESC_INT_RGB

common surface formats defined in BufferedImage

DESC_INT_RGBxback to summary
public static final String DESC_INT_RGBx

additional IntegerComponent types common on Windows

DESC_LINEAR_GRADIENT_PAINTback to summary
public static final String DESC_LINEAR_GRADIENT_PAINT
DESC_OPAQUE_COLORback to summary
public static final String DESC_OPAQUE_COLOR
DESC_OPAQUE_GRADIENT_PAINTback to summary
public static final String DESC_OPAQUE_GRADIENT_PAINT
DESC_OPAQUE_LINEAR_GRADIENT_PAINTback to summary
public static final String DESC_OPAQUE_LINEAR_GRADIENT_PAINT
DESC_OPAQUE_RADIAL_GRADIENT_PAINTback to summary
public static final String DESC_OPAQUE_RADIAL_GRADIENT_PAINT
DESC_OPAQUE_TEXTURE_PAINTback to summary
public static final String DESC_OPAQUE_TEXTURE_PAINT
DESC_RADIAL_GRADIENT_PAINTback to summary
public static final String DESC_RADIAL_GRADIENT_PAINT
DESC_TEXTURE_PAINTback to summary
public static final String DESC_TEXTURE_PAINT
DESC_USHORT_4444_ARGBback to summary
public static final String DESC_USHORT_4444_ARGB
DESC_USHORT_555_RGBback to summary
public static final String DESC_USHORT_555_RGB
DESC_USHORT_555_RGBxback to summary
public static final String DESC_USHORT_555_RGBx
DESC_USHORT_565_RGBback to summary
public static final String DESC_USHORT_565_RGB
DESC_USHORT_GRAYback to summary
public static final String DESC_USHORT_GRAY
DESC_USHORT_INDEXEDback to summary
public static final String DESC_USHORT_INDEXED
FourByteAbgrback to summary
public static final SurfaceType FourByteAbgr
FourByteAbgrPreback to summary
public static final SurfaceType FourByteAbgrPre
GradientPaintback to summary
public static final SurfaceType GradientPaint
Index12Grayback to summary
public static final SurfaceType Index12Gray
Index8Grayback to summary
public static final SurfaceType Index8Gray
IntArgbback to summary
public static final SurfaceType IntArgb
IntArgbBmback to summary
public static final SurfaceType IntArgbBm
IntArgbPreback to summary
public static final SurfaceType IntArgbPre
IntBgrback to summary
public static final SurfaceType IntBgr
IntBgrxback to summary
public static final SurfaceType IntBgrx
IntRgbback to summary
public static final SurfaceType IntRgb
IntRgbxback to summary
public static final SurfaceType IntRgbx
LinearGradientPaintback to summary
public static final SurfaceType LinearGradientPaint
nextback to summary
private SurfaceType next
OpaqueColorback to summary
public static final SurfaceType OpaqueColor
OpaqueGradientPaintback to summary
public static final SurfaceType OpaqueGradientPaint
OpaqueLinearGradientPaintback to summary
public static final SurfaceType OpaqueLinearGradientPaint
OpaqueRadialGradientPaintback to summary
public static final SurfaceType OpaqueRadialGradientPaint
OpaqueTexturePaintback to summary
public static final SurfaceType OpaqueTexturePaint
pixelConverterback to summary
protected PixelConverter pixelConverter
RadialGradientPaintback to summary
public static final SurfaceType RadialGradientPaint
surfaceUIDMapback to summary
private static HashMap<String, Integer> surfaceUIDMap
TexturePaintback to summary
public static final SurfaceType TexturePaint
ThreeByteBgrback to summary
public static final SurfaceType ThreeByteBgr
ThreeByteRgbback to summary
public static final SurfaceType ThreeByteRgb
uniqueIDback to summary
private int uniqueID
unusedUIDback to summary
private static int unusedUID
Ushort4444Argbback to summary
public static final SurfaceType Ushort4444Argb
Ushort555Rgbback to summary
public static final SurfaceType Ushort555Rgb
Ushort555Rgbxback to summary
public static final SurfaceType Ushort555Rgbx
Ushort565Rgbback to summary
public static final SurfaceType Ushort565Rgb
UshortGrayback to summary
public static final SurfaceType UshortGray
UshortIndexedback to summary
public static final SurfaceType UshortIndexed

Constructor Detail

SurfaceTypeback to summary
private SurfaceType(SurfaceType parent, String desc, PixelConverter pixelConverter)
SurfaceTypeback to summary
private SurfaceType(SurfaceType parent, String desc)

Method Detail

deriveSubTypeback to summary
public SurfaceType deriveSubType(String desc)

Return a new SurfaceType object which uses this object as its more general "supertype" descriptor. If no operation can be found that manipulates the type of surface described more exactly by desc, then this object will define the more relaxed specification of the surface that can be used to find a more general operator.

deriveSubTypeback to summary
public SurfaceType deriveSubType(String desc, PixelConverter pixelConverter)
equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

getAlphaMaskback to summary
public int getAlphaMask()
getDescriptorback to summary
public String getDescriptor()
getPixelConverterback to summary
public PixelConverter getPixelConverter()
getSuperTypeback to summary
public SurfaceType getSuperType()
getUniqueIDback to summary
public int getUniqueID()
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
makeUniqueIDback to summary
public static synchronized int makeUniqueID(String desc)
pixelForback to summary
public int pixelFor(int rgb, ColorModel cm)
rgbForback to summary
public int rgbFor(int pixel, ColorModel cm)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.