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:

Field Summary

Modifier and Type Field Description
static final boolean FILL
A key indicating the shape should be filled.
static final boolean STROKE
A key indicating the shape should be stroked with a 1-pixel wide stroke.

Constructor Summary

Constructor Description
ShapeGraphicAttribute(Shape shape, int alignment, boolean stroke)
Constructs a ShapeGraphicAttribute for the specified Shape.

Method Summary

Modifier and Type Method Description
void draw(Graphics2D graphics, float x, float y)
Renders this GraphicAttribute at the specified location.
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

getAlignment, getJustificationInfo

Methods declared in class java.lang.Object

clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Field Details

STROKE

public static final boolean STROKE
A key indicating the shape should be stroked with a 1-pixel wide stroke.
See Also:

FILL

public static final boolean FILL
A key indicating the shape should be filled.
See Also:

Constructor Details

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 Details

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:

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:

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:

draw

public void draw(Graphics2D graphics, float x, float y)
Renders this GraphicAttribute at the specified location.
Specified by:
draw in class GraphicAttribute
Parameters:
graphics - the Graphics2D 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 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:

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:

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.

© 1993, 2021, 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/en/java/javase/17/docs/api/java.desktop/java/awt/font/ShapeGraphicAttribute.html