ImageGraphicAttribute
, ShapeGraphicAttribute
public abstract class GraphicAttribute extends Object
The GraphicAttribute
class represents a graphic embedded in text. Clients subclass this class to implement their own char replacement graphics. Clients wishing to embed shapes and images in text need not subclass this class. Instead, clients can use the ShapeGraphicAttribute
and ImageGraphicAttribute
classes.
Subclasses must ensure that their objects are immutable once they are constructed. Mutating a GraphicAttribute
that is used in a TextLayout
results in undefined behavior from the TextLayout
.
Modifier and Type | Field | Description |
---|---|---|
static final int |
BOTTOM_ALIGNMENT |
Aligns bottom of graphic to bottom of line. |
static final int |
CENTER_BASELINE |
Aligns origin of graphic to center baseline of line. |
static final int |
HANGING_BASELINE |
Aligns origin of graphic to hanging baseline of line. |
static final int |
ROMAN_BASELINE |
Aligns origin of graphic to roman baseline of line. |
static final int |
TOP_ALIGNMENT |
Aligns top of graphic to top of line. |
Modifier | Constructor | Description |
---|---|---|
protected |
Constructs a GraphicAttribute . |
Modifier and Type | Method | Description |
---|---|---|
abstract void |
draw |
Renders this GraphicAttribute at the specified location. |
abstract float |
getAdvance() |
Returns the advance of this GraphicAttribute . |
final int |
getAlignment() |
Returns the alignment of this GraphicAttribute . |
abstract float |
getAscent() |
Returns the ascent of this GraphicAttribute . |
Rectangle2D |
getBounds() |
Returns a Rectangle2D that encloses all of the bits drawn by this GraphicAttribute relative to the rendering position. |
abstract float |
getDescent() |
Returns the descent of this GraphicAttribute . |
GlyphJustificationInfo |
getJustificationInfo() |
Returns the justification information for this GraphicAttribute . |
Shape |
getOutline |
Return a Shape that represents the region that this GraphicAttribute renders. |
public static final int TOP_ALIGNMENT
public static final int BOTTOM_ALIGNMENT
public static final int ROMAN_BASELINE
public static final int CENTER_BASELINE
public static final int HANGING_BASELINE
protected GraphicAttribute(int alignment)
GraphicAttribute
. Subclasses use this to define the alignment of the graphic.alignment
- an int representing one of the GraphicAttribute
alignment fieldsIllegalArgumentException
- if alignment is not one of the five defined values.public abstract float getAscent()
GraphicAttribute
. A graphic can be rendered above its ascent.GraphicAttribute
.public abstract float getDescent()
GraphicAttribute
. A graphic can be rendered below its descent.GraphicAttribute
.public abstract float getAdvance()
GraphicAttribute
. The GraphicAttribute
object's advance is the distance from the point at which the graphic is rendered and the point where the next character or graphic is rendered. A graphic can be rendered beyond its advanceGraphicAttribute
.public Rectangle2D getBounds()
Rectangle2D
that encloses all of the bits drawn by this GraphicAttribute
relative to the rendering position. A graphic may be rendered beyond its origin, ascent, descent, or advance; but if it is, this method's implementation must indicate where the graphic is rendered. Default bounds is the rectangle (0, -ascent, advance, ascent+descent).Rectangle2D
that encloses all of the bits rendered by this GraphicAttribute
.public Shape getOutline(AffineTransform tx)
Shape
that represents the region that this GraphicAttribute
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
. The default implementation returns the rectangle returned by getBounds()
, transformed by the provided AffineTransform
if present.tx
- an optional AffineTransform
to apply to the outline of this GraphicAttribute
. This can be null.Shape
representing this graphic attribute, suitable for stroking or filling.public abstract void draw(Graphics2D graphics, float x, float y)
GraphicAttribute
at the specified location.graphics
- the Graphics2D
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 renderedpublic final int getAlignment()
GraphicAttribute
. Alignment can be to a particular baseline, or to the absolute top or bottom of a line.GraphicAttribute
.public GlyphJustificationInfo getJustificationInfo()
GraphicAttribute
. Subclasses can override this method to provide different justification information.GlyphJustificationInfo
object that contains the justification information for this GraphicAttribute
.
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/font/GraphicAttribute.html