java.awt.font
Class ShapeGraphicAttribute

java.lang.Object
  extended byjava.awt.font.GraphicAttribute
      extended byjava.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.
private  Shape fShape
           
private  Rectangle2D fShapeBounds
           
private  boolean fStroke
           
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)
          Draws the graphic at the given 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.
 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

fShape

private Shape fShape

fStroke

private boolean fStroke

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

fShapeBounds

private Rectangle2D fShapeBounds
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)
Draws the graphic at the given location. The Shape is drawn with its origin at (x, y).

Specified by:
draw in class GraphicAttribute
Parameters:
graphics - the Graphics2D into which to draw the graphic

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.

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.