java.awt.font
Class ShapeGraphicAttribute
- 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 and 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 and 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 and Description void
draw(Graphics2D graphics, float x, float y)
Renders thisGraphicAttribute
at the specified location.boolean
equals(Object rhs)
Compares thisShapeGraphicAttribute
to the specifiedObject
.boolean
equals(ShapeGraphicAttribute rhs)
Compares thisShapeGraphicAttribute
to the specifiedShapeGraphicAttribute
.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 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 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.
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.