Class 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

Fields
Modifier and Type Field Description
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 declared in class java.awt.font.GraphicAttribute

BOTTOM_ALIGNMENT, CENTER_BASELINE, HANGING_BASELINE, ROMAN_BASELINE, TOP_ALIGNMENT

Constructor Summary

Constructors
Constructor Description
ShapeGraphicAttribute​(Shape shape, int alignment, boolean stroke)

Constructs a ShapeGraphicAttribute for the specified Shape.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
boolean equals​(ShapeGraphicAttribute rhs)

Compares this ShapeGraphicAttribute to the specified ShapeGraphicAttribute.

boolean equals​(Object rhs)

Compares this ShapeGraphicAttribute to the specified Object.

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 declared in class java.awt.font.GraphicAttribute

draw, getAlignment, getJustificationInfo

Methods declared in 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()

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), System.identityHashCode(java.lang.Object)

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(), HashMap

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.