Class ShapeGraphicAttribute
- java.lang.Object
-
- java.awt.font.GraphicAttribute
-
- 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
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
Constructors
Constructor and Description |
---|
ShapeGraphicAttribute(Shape shape,
int alignment,
boolean stroke) Constructs a |
Methods
Modifier and Type | Method and Description |
---|---|
void |
draw(Graphics2D graphics,
float x,
float y) Renders this |
boolean |
equals(Object rhs) Compares this |
boolean |
equals(ShapeGraphicAttribute rhs) Compares this |
float |
getAdvance() Returns the advance of this |
float |
getAscent() Returns the ascent of this |
Rectangle2D |
getBounds() Returns a |
float |
getDescent() Returns the descent of this |
Shape |
getOutline(AffineTransform tx) Return a |
int |
hashCode() Returns a hashcode for this |
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
Fields
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
Constructors
ShapeGraphicAttribute
public ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke)
Constructs a ShapeGraphicAttribute
for the specified Shape
.
- 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.
Methods
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 classGraphicAttribute
- 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 classGraphicAttribute
- 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 classGraphicAttribute
- 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 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 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 classGraphicAttribute
- Returns:
- a
Rectangle2D
that encloses all of the bits rendered by thisShapeGraphicAttribute
.
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 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 this ShapeGraphicAttribute
.
- 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 this ShapeGraphicAttribute
to the specified Object
.
- 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 this ShapeGraphicAttribute
to the specified ShapeGraphicAttribute
.
- Parameters:
-
rhs
- theShapeGraphicAttribute
to compare for equality - Returns:
-
true
if thisShapeGraphicAttribute
equalsrhs
;false
otherwise.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/java/awt/font/ShapeGraphicAttribute.html