Class GraphicAttribute
java.lang.Object
java.awt.font.GraphicAttribute
- Direct Known Subclasses:
ImageGraphicAttribute, ShapeGraphicAttribute
This class is used with the CHAR_REPLACEMENT attribute.
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAligns bottom of graphic to bottom of line.static final intAligns origin of graphic to center baseline of line.static final intAligns origin of graphic to hanging baseline of line.static final intAligns origin of graphic to roman baseline of line.static final intAligns top of graphic to top of line. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGraphicAttribute(int alignment) Constructs aGraphicAttribute. -
Method Summary
Modifier and TypeMethodDescriptionabstract voiddraw(Graphics2D graphics, float x, float y) Renders thisGraphicAttributeat the specified location.abstract floatReturns the advance of thisGraphicAttribute.final intReturns the alignment of thisGraphicAttribute.abstract floatReturns the ascent of thisGraphicAttribute.Returns aRectangle2Dthat encloses all of the bits drawn by thisGraphicAttributerelative to the rendering position.abstract floatReturns the descent of thisGraphicAttribute.Returns the justification information for thisGraphicAttribute.Return aShapethat represents the region that thisGraphicAttributerenders.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Field Details
-
TOP_ALIGNMENT
public static final int TOP_ALIGNMENTAligns top of graphic to top of line.- See Also:
-
BOTTOM_ALIGNMENT
public static final int BOTTOM_ALIGNMENTAligns bottom of graphic to bottom of line.- See Also:
-
ROMAN_BASELINE
public static final int ROMAN_BASELINEAligns origin of graphic to roman baseline of line.- See Also:
-
CENTER_BASELINE
public static final int CENTER_BASELINEAligns origin of graphic to center baseline of line.- See Also:
-
HANGING_BASELINE
public static final int HANGING_BASELINEAligns origin of graphic to hanging baseline of line.- See Also:
-
-
Constructor Details
-
GraphicAttribute
protected GraphicAttribute(int alignment) Constructs aGraphicAttribute. Subclasses use this to define the alignment of the graphic.- Parameters:
alignment- an int representing one of theGraphicAttributealignment fields- Throws:
IllegalArgumentException- if alignment is not one of the five defined values.
-
-
Method Details
-
getAscent
public abstract float getAscent()Returns the ascent of thisGraphicAttribute. A graphic can be rendered above its ascent.- Returns:
- the ascent of this
GraphicAttribute. - See Also:
-
getDescent
public abstract float getDescent()Returns the descent of thisGraphicAttribute. A graphic can be rendered below its descent.- Returns:
- the descent of this
GraphicAttribute. - See Also:
-
getAdvance
public abstract float getAdvance()Returns the advance of thisGraphicAttribute. TheGraphicAttributeobject'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- Returns:
- the advance of this
GraphicAttribute. - See Also:
-
getBounds
Returns aRectangle2Dthat encloses all of the bits drawn by thisGraphicAttributerelative 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).- Returns:
- a
Rectangle2Dthat encloses all of the bits rendered by thisGraphicAttribute.
-
getOutline
Return aShapethat represents the region that thisGraphicAttributerenders. This is used when aTextLayoutis requested to return the outline of the text. The (untransformed) shape must not extend outside the rectangular bounds returned bygetBounds. The default implementation returns the rectangle returned bygetBounds(), transformed by the providedAffineTransformif present.- Parameters:
tx- an optionalAffineTransformto apply to the outline of thisGraphicAttribute. This can be null.- Returns:
- a
Shaperepresenting this graphic attribute, suitable for stroking or filling. - Since:
- 1.6
-
draw
Renders thisGraphicAttributeat the specified location.- Parameters:
graphics- theGraphics2Dinto which to render the graphicx- the user-space X coordinate where the graphic is renderedy- the user-space Y coordinate where the graphic is rendered
-
getAlignment
public final int getAlignment()Returns the alignment of thisGraphicAttribute. Alignment can be to a particular baseline, or to the absolute top or bottom of a line.- Returns:
- the alignment of this
GraphicAttribute.
-
getJustificationInfo
Returns the justification information for thisGraphicAttribute. Subclasses can override this method to provide different justification information.- Returns:
- a
GlyphJustificationInfoobject that contains the justification information for thisGraphicAttribute.
-