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 and Description |
|---|---|
static int |
BOTTOM_ALIGNMENT
Aligns bottom of graphic to bottom of line.
|
static int |
CENTER_BASELINE
Aligns origin of graphic to center baseline of line.
|
static int |
HANGING_BASELINE
Aligns origin of graphic to hanging baseline of line.
|
static int |
ROMAN_BASELINE
Aligns origin of graphic to roman baseline of line.
|
static int |
TOP_ALIGNMENT
Aligns top of graphic to top of line.
|
| Modifier | Constructor and Description |
|---|---|
protected |
GraphicAttribute(int alignment)
Constructs a
GraphicAttribute.
|
| Modifier and Type | Method and Description |
|---|---|
abstract void |
draw(Graphics2D
Renders this
GraphicAttribute at the specified location.
|
abstract float |
getAdvance()
Returns the advance of this
GraphicAttribute.
|
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(AffineTransform
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 fields
IllegalArgumentException - if alignment is not one of the five defined values.
public abstract float getAscent()
GraphicAttribute. A graphic can be rendered above its ascent.
GraphicAttribute.
getBounds()
public abstract float getDescent()
GraphicAttribute. A graphic can be rendered below its descent.
GraphicAttribute.
getBounds()
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 advance
GraphicAttribute.
getBounds()
public Rectangle2DgetBounds()
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 ShapegetOutline(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(Graphics2Dgraphics, float x, float y)
GraphicAttribute at the specified location.
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
public final int getAlignment()
GraphicAttribute. Alignment can be to a particular baseline, or to the absolute top or bottom of a line.
GraphicAttribute.
public GlyphJustificationInfogetJustificationInfo()
GraphicAttribute. Subclasses can override this method to provide different justification information.
GlyphJustificationInfo object that contains the justification information for this
GraphicAttribute.