Java™ Platform
Standard Ed. 6

java.awt.font
Class ShapeGraphicAttribute

java.lang.Object
  extended by java.awt.font.GraphicAttribute
      extended by java.awt.font.ShapeGraphicAttribute

public final class ShapeGraphicAttribute
extends GraphicAttribute

The ShapeGraphicAttribute class is an implementation of GraphicAttribute that draws shapes in a TextLayout.

See Also:
GraphicAttribute

Field Summary
static boolean FILL
          A key indicating the shape should be filled.
static boolean STROKE
          A key indicating the shape should be stroked with a 1-pixel wide stroke.
 
Fields inherited from class java.awt.font.GraphicAttribute
BOTTOM_ALIGNMENT, CENTER_BASELINE, HANGING_BASELINE, ROMAN_BASELINE, TOP_ALIGNMENT
 
Constructor Summary
ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke)
          Constructs a ShapeGraphicAttribute for the specified Shape.
 
Method Summary
 void draw(Graphics2D graphics, float x, float y)
          Renders this GraphicAttribute at the specified location.
 boolean equals(Object rhs)
          Compares this ShapeGraphicAttribute to the specified Object.
 boolean equals(ShapeGraphicAttribute rhs)
          Compares this ShapeGraphicAttribute to the specified ShapeGraphicAttribute.
 float getAdvance()
          Returns the advance of this ShapeGraphicAttribute.
 float getAscent()
          Returns the ascent of this ShapeGraphicAttribute.
 Rectangle2D getBounds()
          Returns a Rectangle2D that encloses all of the bits drawn by this ShapeGraphicAttribute relative to the rendering position.
 float getDescent()
          Returns the descent of this ShapeGraphicAttribute.
 Shape getOutline(AffineTransform tx)
          Return a Shape that represents the region that this ShapeGraphicAttribute renders.
 int hashCode()
          Returns a hashcode for this ShapeGraphicAttribute.
 
Methods inherited from class java.awt.font.GraphicAttribute
getAlignment, getJustificationInfo
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STROKE

public static final boolean STROKE
A key indicating the shape should be stroked with a 1-pixel wide stroke.

See Also:
Constant Field Values

FILL

public static final boolean FILL
A key indicating the shape should be filled.

See Also:
Constant Field Values
Constructor Detail

ShapeGraphicAttribute

public ShapeGraphicAttribute(Shape shape,
                             int alignment,
                             boolean stroke)
Constructs a ShapeGraphicAttribute for the specified Shape.

Parameters:
shape - the Shape to render. The Shape is rendered with its origin at the origin of this ShapeGraphicAttribute in the host TextLayout. This object maintains a reference to shape.
alignment - one of the alignments from this ShapeGraphicAttribute.
stroke - true if the Shape should be stroked; false if the Shape should be filled.
Method Detail

getAscent

public float getAscent()
Returns the ascent of this ShapeGraphicAttribute. The ascent of a ShapeGraphicAttribute is the positive distance from the origin of its Shape to the top of bounds of its Shape.

Specified by:
getAscent in class GraphicAttribute
Returns:
the ascent of this ShapeGraphicAttribute.
See Also:
GraphicAttribute.getBounds()

getDescent

public float getDescent()
Returns the descent of this ShapeGraphicAttribute. The descent of a ShapeGraphicAttribute is the distance from the origin of its Shape to the bottom of the bounds of its Shape.

Specified by:
getDescent in class GraphicAttribute
Returns:
the descent of this ShapeGraphicAttribute.
See Also:
GraphicAttribute.getBounds()

getAdvance

public float getAdvance()
Returns the advance of this ShapeGraphicAttribute. The advance of a ShapeGraphicAttribute is the distance from the origin of its Shape to the right side of the bounds of its Shape.

Specified by:
getAdvance in class GraphicAttribute
Returns:
the advance of this ShapeGraphicAttribute.
See Also:
GraphicAttribute.getBounds()

draw

public void draw(Graphics2D graphics,
                 float x,
                 float y)
Renders this GraphicAttribute at the specified location.

Specified by:
draw in class GraphicAttribute
Parameters:
graphics - the Graphics2D into which to render the graphic
x - the user-space X coordinate where the graphic is rendered
y - the user-space Y coordinate where the graphic is rendered

getBounds

public Rectangle2D getBounds()
Returns a Rectangle2D that encloses all of the bits drawn by this ShapeGraphicAttribute relative to the rendering position. A graphic can be rendered beyond its origin, ascent, descent, or advance; but if it does, this method's implementation should indicate where the graphic is rendered.

Overrides:
getBounds in class GraphicAttribute
Returns:
a Rectangle2D that encloses all of the bits rendered by this ShapeGraphicAttribute.

getOutline

public Shape getOutline(AffineTransform tx)
Return a Shape that represents the region that this ShapeGraphicAttribute renders. This is used when a TextLayout is requested to return the outline of the text. The (untransformed) shape must not extend outside the rectangular bounds returned by getBounds.

Overrides:
getOutline in class GraphicAttribute
Parameters:
tx - an optional AffineTransform to apply to the this ShapeGraphicAttribute. This can be null.
Returns:
the Shape representing this graphic attribute, suitable for stroking or filling.
Since:
1.6

hashCode

public int hashCode()
Returns a hashcode for this ShapeGraphicAttribute.

Overrides:
hashCode in class Object
Returns:
a hash code value for this ShapeGraphicAttribute.
See Also:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object rhs)
Compares this ShapeGraphicAttribute to the specified Object.

Overrides:
equals in class Object
Parameters:
rhs - the Object to compare for equality
Returns:
true if this ShapeGraphicAttribute equals rhs; false otherwise.
See Also:
Object.hashCode(), Hashtable

equals

public boolean equals(ShapeGraphicAttribute rhs)
Compares this ShapeGraphicAttribute to the specified ShapeGraphicAttribute.

Parameters:
rhs - the ShapeGraphicAttribute to compare for equality
Returns:
true if this ShapeGraphicAttribute equals rhs; false otherwise.

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.