- java.lang.Object
-
- java.awt.font.GraphicAttribute
-
- java.awt.font.ShapeGraphicAttribute
-
public final class ShapeGraphicAttribute extends GraphicAttribute
TheShapeGraphicAttribute
class is an implementation ofGraphicAttribute
that draws shapes in aTextLayout
.- 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 inherited from 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 aShapeGraphicAttribute
for the specifiedShape
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
draw(Graphics2D graphics, float x, float y)
Renders thisGraphicAttribute
at the specified location.boolean
equals(ShapeGraphicAttribute rhs)
Compares thisShapeGraphicAttribute
to the specifiedShapeGraphicAttribute
.boolean
equals(Object rhs)
Compares thisShapeGraphicAttribute
to the specifiedObject
.float
getAdvance()
Returns the advance of thisShapeGraphicAttribute
.float
getAscent()
Returns the ascent of thisShapeGraphicAttribute
.Rectangle2D
getBounds()
Returns aRectangle2D
that encloses all of the bits drawn by thisShapeGraphicAttribute
relative to the rendering position.float
getDescent()
Returns the descent of thisShapeGraphicAttribute
.Shape
getOutline(AffineTransform tx)
Return aShape
that represents the region that thisShapeGraphicAttribute
renders.int
hashCode()
Returns a hashcode for thisShapeGraphicAttribute
.-
Methods inherited from class java.awt.font.GraphicAttribute
getAlignment, getJustificationInfo
-
-
-
-
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 aShapeGraphicAttribute
for the specifiedShape
.- Parameters:
shape
- theShape
to render. TheShape
is rendered with its origin at the origin of thisShapeGraphicAttribute
in the hostTextLayout
. This object maintains a reference toshape
.alignment
- one of the alignments from thisShapeGraphicAttribute
.stroke
-true
if theShape
should be stroked;false
if theShape
should be filled.
-
-
Method Detail
-
getAscent
public float getAscent()
Returns the ascent of thisShapeGraphicAttribute
. The ascent of aShapeGraphicAttribute
is the positive distance from the origin of itsShape
to the top of bounds of itsShape
.- Specified by:
getAscent
in classGraphicAttribute
- Returns:
- the ascent of this
ShapeGraphicAttribute
. - See Also:
GraphicAttribute.getBounds()
-
getDescent
public float getDescent()
Returns the descent of thisShapeGraphicAttribute
. The descent of aShapeGraphicAttribute
is the distance from the origin of itsShape
to the bottom of the bounds of itsShape
.- Specified by:
getDescent
in classGraphicAttribute
- Returns:
- the descent of this
ShapeGraphicAttribute
. - See Also:
GraphicAttribute.getBounds()
-
getAdvance
public float getAdvance()
Returns the advance of thisShapeGraphicAttribute
. The advance of aShapeGraphicAttribute
is the distance from the origin of itsShape
to the right side of the bounds of itsShape
.- Specified by:
getAdvance
in classGraphicAttribute
- Returns:
- the advance of this
ShapeGraphicAttribute
. - See Also:
GraphicAttribute.getBounds()
-
draw
public void draw(Graphics2D graphics, float x, float y)
Renders thisGraphicAttribute
at the specified location.- Specified by:
draw
in classGraphicAttribute
- Parameters:
graphics
- theGraphics2D
into which to render the graphicx
- the user-space X coordinate where the graphic is renderedy
- the user-space Y coordinate where the graphic is rendered
-
getBounds
public Rectangle2D getBounds()
Returns aRectangle2D
that encloses all of the bits drawn by thisShapeGraphicAttribute
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 classGraphicAttribute
- Returns:
- a
Rectangle2D
that encloses all of the bits rendered by thisShapeGraphicAttribute
.
-
getOutline
public Shape getOutline(AffineTransform tx)
Return aShape
that represents the region that thisShapeGraphicAttribute
renders. This is used when aTextLayout
is requested to return the outline of the text. The (untransformed) shape must not extend outside the rectangular bounds returned bygetBounds
.- Overrides:
getOutline
in classGraphicAttribute
- Parameters:
tx
- an optionalAffineTransform
to apply to the thisShapeGraphicAttribute
. 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 thisShapeGraphicAttribute
.- Overrides:
hashCode
in classObject
- 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 thisShapeGraphicAttribute
to the specifiedObject
.- Overrides:
equals
in classObject
- Parameters:
rhs
- theObject
to compare for equality- Returns:
true
if thisShapeGraphicAttribute
equalsrhs
;false
otherwise.- See Also:
Object.hashCode()
,HashMap
-
equals
public boolean equals(ShapeGraphicAttribute rhs)
Compares thisShapeGraphicAttribute
to the specifiedShapeGraphicAttribute
.- Parameters:
rhs
- theShapeGraphicAttribute
to compare for equality- Returns:
true
if thisShapeGraphicAttribute
equalsrhs
;false
otherwise.
-
-