FileDocCategorySizeDatePackage
ImageGraphicAttribute.javaAPI DocJava SE 5 API6768Fri Aug 26 14:56:50 BST 2005java.awt.font

ImageGraphicAttribute

public final class ImageGraphicAttribute extends GraphicAttribute
The ImageGraphicAttribute class is an implementation of {@link GraphicAttribute} which draws images in a {@link TextLayout}.
see
GraphicAttribute

Fields Summary
private Image
fImage
private float
fImageWidth
private float
fImageHeight
private float
fOriginX
private float
fOriginY
Constructors Summary
public ImageGraphicAttribute(Image image, int alignment)
Constucts an ImageGraphicAttribute from the specified {@link Image}. The origin is at (0, 0).

param
image the Image rendered by this ImageGraphicAttribute. This object keeps a reference to image.
param
alignment one of the alignments from this ImageGraphicAttribute


        this(image, alignment, 0, 0);
    
public ImageGraphicAttribute(Image image, int alignment, float originX, float originY)
Constructs an ImageGraphicAttribute from the specified Image. The point (originXoriginY) in the Image appears at the origin of the ImageGraphicAttribute within the text.

param
image the Image rendered by this ImageGraphicAttribute. This object keeps a reference to image.
param
alignment one of the alignments from this ImageGraphicAttribute
param
originX, originY the coordinates of the point within the Image that appears at the origin of the ImageGraphicAttribute in the text line.


        super(alignment);

        // Can't clone image
        // fImage = (Image) image.clone();
        fImage = image;

        fImageWidth = image.getWidth(null);
        fImageHeight = image.getHeight(null);

        // ensure origin is in Image?
        fOriginX = originX;
        fOriginY = originY;
    
Methods Summary
public voiddraw(java.awt.Graphics2D graphics, float x, float y)
Renders the graphic at the specified location.

param
graphics the {@link Graphics2D} into which to render the graphic
param
x, y the user-space coordinates where the graphic is rendered


        graphics.drawImage(fImage, (int) (x-fOriginX), (int) (y-fOriginY), null);
    
public booleanequals(java.awt.font.ImageGraphicAttribute rhs)
Compares this ImageGraphicAttribute to the specified ImageGraphicAttribute.

param
rhs the ImageGraphicAttribute to compare for equality
return
true if this ImageGraphicAttribute equals rhs; false otherwise.


        if (rhs == null) {
            return false;
        }

        if (this == rhs) {
            return true;
        }

        if (fOriginX != rhs.fOriginX || fOriginY != rhs.fOriginY) {
            return false;
        }

        if (getAlignment() != rhs.getAlignment()) {
            return false;
        }

        if (!fImage.equals(rhs.fImage)) {
            return false;
        }

        return true;
    
public booleanequals(java.lang.Object rhs)
Compares this ImageGraphicAttribute to the specified {@link Object}.

param
rhs the Object to compare for equality
return
true if this ImageGraphicAttribute equals rhs; false otherwise.


        try {
            return equals((ImageGraphicAttribute) rhs);
        }
        catch(ClassCastException e) {
            return false;
        }
    
public floatgetAdvance()
Returns the advance of this ImageGraphicAttribute. The advance of an ImageGraphicAttribute is the distance from the origin to the right edge of the image.

return
the advance of this ImageGraphicAttribute.


        return Math.max(0, fImageWidth-fOriginX);
    
public floatgetAscent()
Returns the ascent of this ImageGraphicAttribute. The ascent of an ImageGraphicAttribute is the distance from the top of the image to the origin.

return
the ascent of this ImageGraphicAttribute.


        return Math.max(0, fOriginY);
    
public java.awt.geom.Rectangle2DgetBounds()
Returns a {@link Rectangle2D} that encloses all of the bits rendered by this ImageGraphicAttribute, relative to the rendering position. A graphic can be rendered beyond its origin, ascent, descent, or advance; but if it is, this method's implementation must indicate where the graphic is rendered.

return
a Rectangle2D that encloses all of the bits rendered by this ImageGraphicAttribute.


        return new Rectangle2D.Float(
                        -fOriginX, -fOriginY, fImageWidth, fImageHeight);
    
public floatgetDescent()
Returns the descent of this ImageGraphicAttribute. The descent of an ImageGraphicAttribute is the distance from the origin to the bottom of the image.

return
the descent of this ImageGraphicAttribute.


        return Math.max(0, fImageHeight-fOriginY);
    
public inthashCode()
Returns a hashcode for this ImageGraphicAttribute.

return
a hash code value for this object.


        return fImage.hashCode();