This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.awt.font
class GraphicAttribute

java.lang.Object extended by java.awt.font.GraphicAttribute
Direct Known Subclasses:
ImageGraphicAttribute, ShapeGraphicAttribute

public abstract class GraphicAttribute
extends Object

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 {@link ShapeGraphicAttribute} and {@link ImageGraphicAttribute} classes.

Subclasses must ensure that their objects are immutable once they are constructed. Mutating a GraphicAttribute that is used in a {@link TextLayout} results in undefined behavior from the TextLayout.


Field Summary
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.
 
Constructor Summary
protected
GraphicAttribute(int alignment)

          Constructs a GraphicAttribute.
 
Method Summary
abstract void
draw(Graphics2D graphics, float x, float y)

          Renders this GraphicAttribute at the specified location.
abstract float

          Returns the advance of this GraphicAttribute.
 int

          Returns the alignment of this GraphicAttribute.
abstract float

          Returns the ascent of this GraphicAttribute.
 Rectangle2D

          Returns a java.awt.geom.Rectangle2D that encloses all of the bits drawn by this GraphicAttribute relative to the rendering position.
abstract float

          Returns the descent of this GraphicAttribute.
 GlyphJustificationInfo

          Returns the justification information for this GraphicAttribute.
 Shape

          Return a java.awt.Shape that represents the region that this GraphicAttribute renders.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BOTTOM_ALIGNMENT

public static final int BOTTOM_ALIGNMENT
Aligns bottom of graphic to bottom of line.

CENTER_BASELINE

public static final int CENTER_BASELINE
Aligns origin of graphic to center baseline of line.

HANGING_BASELINE

public static final int HANGING_BASELINE
Aligns origin of graphic to hanging baseline of line.

ROMAN_BASELINE

public static final int ROMAN_BASELINE
Aligns origin of graphic to roman baseline of line.

TOP_ALIGNMENT

public static final int TOP_ALIGNMENT
Aligns top of graphic to top of line.
Constructor Detail

GraphicAttribute

protected GraphicAttribute(int alignment)
Constructs a GraphicAttribute. Subclasses use this to define the alignment of the graphic.

Parameters:
alignment - an int representing one of the GraphicAttribute alignment fields
Method Detail

draw

public abstract void draw(Graphics2D graphics,
                          float x,
                          float y)
Renders this GraphicAttribute at the specified location.

Parameters:
graphics - the {@link 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

getAdvance

public abstract float getAdvance()
Returns the advance of this 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

Returns:
the advance of this GraphicAttribute.

getAlignment

public final int getAlignment()
Returns the alignment of this GraphicAttribute. Alignment can be to a particular baseline, or to the absolute top or bottom of a line.

Returns:
the alignment of this GraphicAttribute.

getAscent

public abstract float getAscent()
Returns the ascent of this GraphicAttribute. A graphic can be rendered above its ascent.

Returns:
the ascent of this GraphicAttribute.

getBounds

public Rectangle2D getBounds()
Returns a {@link 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).

Returns:
a Rectangle2D that encloses all of the bits rendered by this GraphicAttribute.

getDescent

public abstract float getDescent()
Returns the descent of this GraphicAttribute. A graphic can be rendered below its descent.

Returns:
the descent of this GraphicAttribute.

getJustificationInfo

public GlyphJustificationInfo getJustificationInfo()
Returns the justification information for this GraphicAttribute. Subclasses can override this method to provide different justification information.

Returns:
a {@link GlyphJustificationInfo} object that contains the justification information for this GraphicAttribute.

getOutline

public Shape getOutline(AffineTransform tx)
Return a {@link java.awt.Shape} that represents the region that this GraphicAttribute renders. This is used when a {@link 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 {@link #getBounds}, transformed by the provided {@link AffineTransform} if present.

Parameters:
tx - an optional {@link AffineTransform} to apply to the outline of this GraphicAttribute. This can be null.
Returns:
a Shape representing this graphic attribute, suitable for stroking or filling.


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.