org.apache.batik.gvt.font
Class AWTGVTGlyphVector

java.lang.Object
  extended by org.apache.batik.gvt.font.AWTGVTGlyphVector
All Implemented Interfaces:
GVTGlyphVector

public class AWTGVTGlyphVector
extends Object
implements GVTGlyphVector

This is a wrapper class for a java.awt.font.GlyphVector instance.


Field Summary
static AttributedCharacterIterator.Attribute PAINT_INFO
           
 
Constructor Summary
AWTGVTGlyphVector(GlyphVector glyphVector, AWTGVTFont font, float scaleFactor, CharacterIterator ci)
          Creates and new AWTGVTGlyphVector from the specified GlyphVector and AWTGVTFont objects.
 
Method Summary
 void draw(Graphics2D graphics2D, AttributedCharacterIterator aci)
          Draws this glyph vector.
 Rectangle2D getBounds2D(AttributedCharacterIterator aci)
          Returns a tight bounds on the GylphVector including stroking.
 int getCharacterCount(int startGlyphIndex, int endGlyphIndex)
          Returns the number of chars represented by the glyphs within the specified range.
 GVTFont getFont()
          Returns the GVTFont associated with this GVTGlyphVector.
 FontRenderContext getFontRenderContext()
          Returns the FontRenderContext associated with this GlyphVector.
 Rectangle2D getGeometricBounds()
          Returns the visual bounds of this GlyphVector The visual bounds is the tightest rectangle enclosing all non-background pixels in the rendered representation of this GlyphVector.
 Rectangle2D getGlyphCellBounds(int glyphIndex)
          Returns the bounding box of the specified glyph, considering only the glyph's metrics (ascent, descent, advance) rather than the actual glyph shape.
 int getGlyphCode(int glyphIndex)
          Returns the glyphcode of the specified glyph.
 int[] getGlyphCodes(int beginGlyphIndex, int numEntries, int[] codeReturn)
          Returns an array of glyphcodes for the specified glyphs.
 GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex)
          Returns the justification information for the glyph at the specified index into this GlyphVector.
 Shape getGlyphLogicalBounds(int glyphIndex)
          Returns the logical bounds of the specified glyph within this GlyphVector.
 GVTGlyphMetrics getGlyphMetrics(int glyphIndex)
          Returns the metrics of the glyph at the specified index into this GVTGlyphVector.
 Shape getGlyphOutline(int glyphIndex)
          Returns a Shape whose interior corresponds to the visual representation of the specified glyph within this GlyphVector.
 Point2D getGlyphPosition(int glyphIndex)
          Returns the position of the specified glyph within this GlyphVector.
 float[] getGlyphPositions(int beginGlyphIndex, int numEntries, float[] positionReturn)
          Returns an array of glyph positions for the specified glyphs
 AffineTransform getGlyphTransform(int glyphIndex)
          Gets the transform of the specified glyph within this GlyphVector.
 Shape getGlyphVisualBounds(int glyphIndex)
          Returns the visual bounds of the specified glyph within the GlyphVector.
 Rectangle2D getLogicalBounds()
          Returns the logical bounds of this GlyphVector.
 int getNumGlyphs()
          Returns the number of glyphs in this GlyphVector.
 Shape getOutline()
          Returns a Shape whose interior corresponds to the visual representation of this GlyphVector.
 Shape getOutline(float x, float y)
          Returns a Shape whose interior corresponds to the visual representation of this GlyphVector, offset to x, y.
 boolean isGlyphVisible(int glyphIndex)
          Returns true if specified glyph will be rendered.
 void performDefaultLayout()
          Assigns default positions to each glyph in this GlyphVector.
 void setGlyphPosition(int glyphIndex, Point2D newPos)
          Sets the position of the specified glyph within this GlyphVector.
 void setGlyphTransform(int glyphIndex, AffineTransform newTX)
          Sets the transform of the specified glyph within this GlyphVector.
 void setGlyphVisible(int glyphIndex, boolean visible)
          Tells the glyph vector whether or not to draw the specified glyph.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PAINT_INFO

public static final AttributedCharacterIterator.Attribute PAINT_INFO
Constructor Detail

AWTGVTGlyphVector

public AWTGVTGlyphVector(GlyphVector glyphVector,
                         AWTGVTFont font,
                         float scaleFactor,
                         CharacterIterator ci)
Creates and new AWTGVTGlyphVector from the specified GlyphVector and AWTGVTFont objects.

Parameters:
glyphVector - The glyph vector that this one will be based upon.
font - The font that is creating this glyph vector.
scaleFactor - The scale factor to apply to the glyph vector. IMPORTANT: This is only required because the GlyphVector class doesn't handle font sizes less than 1 correctly. By using the scale factor we can use a GlyphVector created by a larger font and then scale it down to the correct size.
ci - The character string that this glyph vector represents.
Method Detail

getFont

public GVTFont getFont()
Returns the GVTFont associated with this GVTGlyphVector.

Specified by:
getFont in interface GVTGlyphVector

getFontRenderContext

public FontRenderContext getFontRenderContext()
Returns the FontRenderContext associated with this GlyphVector.

Specified by:
getFontRenderContext in interface GVTGlyphVector

getGlyphCode

public int getGlyphCode(int glyphIndex)
Returns the glyphcode of the specified glyph.

Specified by:
getGlyphCode in interface GVTGlyphVector

getGlyphCodes

public int[] getGlyphCodes(int beginGlyphIndex,
                           int numEntries,
                           int[] codeReturn)
Returns an array of glyphcodes for the specified glyphs.

Specified by:
getGlyphCodes in interface GVTGlyphVector

getGlyphJustificationInfo

public GlyphJustificationInfo getGlyphJustificationInfo(int glyphIndex)
Returns the justification information for the glyph at the specified index into this GlyphVector.

Specified by:
getGlyphJustificationInfo in interface GVTGlyphVector

getBounds2D

public Rectangle2D getBounds2D(AttributedCharacterIterator aci)
Returns a tight bounds on the GylphVector including stroking.

Specified by:
getBounds2D in interface GVTGlyphVector
Parameters:
aci - Required to get painting attributes of glyphVector.

getLogicalBounds

public Rectangle2D getLogicalBounds()
Returns the logical bounds of this GlyphVector. This is a bound useful for hit detection and highlighting.

Specified by:
getLogicalBounds in interface GVTGlyphVector

getGlyphLogicalBounds

public Shape getGlyphLogicalBounds(int glyphIndex)
Returns the logical bounds of the specified glyph within this GlyphVector.

Specified by:
getGlyphLogicalBounds in interface GVTGlyphVector

getGlyphMetrics

public GVTGlyphMetrics getGlyphMetrics(int glyphIndex)
Returns the metrics of the glyph at the specified index into this GVTGlyphVector.

Specified by:
getGlyphMetrics in interface GVTGlyphVector

getGlyphOutline

public Shape getGlyphOutline(int glyphIndex)
Returns a Shape whose interior corresponds to the visual representation of the specified glyph within this GlyphVector.

Specified by:
getGlyphOutline in interface GVTGlyphVector

getGlyphCellBounds

public Rectangle2D getGlyphCellBounds(int glyphIndex)
Returns the bounding box of the specified glyph, considering only the glyph's metrics (ascent, descent, advance) rather than the actual glyph shape.

Specified by:
getGlyphCellBounds in interface GVTGlyphVector

getGlyphPosition

public Point2D getGlyphPosition(int glyphIndex)
Returns the position of the specified glyph within this GlyphVector.

Specified by:
getGlyphPosition in interface GVTGlyphVector

getGlyphPositions

public float[] getGlyphPositions(int beginGlyphIndex,
                                 int numEntries,
                                 float[] positionReturn)
Returns an array of glyph positions for the specified glyphs

Specified by:
getGlyphPositions in interface GVTGlyphVector

getGlyphTransform

public AffineTransform getGlyphTransform(int glyphIndex)
Gets the transform of the specified glyph within this GlyphVector.

Specified by:
getGlyphTransform in interface GVTGlyphVector

getGlyphVisualBounds

public Shape getGlyphVisualBounds(int glyphIndex)
Returns the visual bounds of the specified glyph within the GlyphVector.

Specified by:
getGlyphVisualBounds in interface GVTGlyphVector

getNumGlyphs

public int getNumGlyphs()
Returns the number of glyphs in this GlyphVector.

Specified by:
getNumGlyphs in interface GVTGlyphVector

getOutline

public Shape getOutline()
Returns a Shape whose interior corresponds to the visual representation of this GlyphVector.

Specified by:
getOutline in interface GVTGlyphVector

getOutline

public Shape getOutline(float x,
                        float y)
Returns a Shape whose interior corresponds to the visual representation of this GlyphVector, offset to x, y.

Specified by:
getOutline in interface GVTGlyphVector

getGeometricBounds

public Rectangle2D getGeometricBounds()
Returns the visual bounds of this GlyphVector The visual bounds is the tightest rectangle enclosing all non-background pixels in the rendered representation of this GlyphVector.

Specified by:
getGeometricBounds in interface GVTGlyphVector

performDefaultLayout

public void performDefaultLayout()
Assigns default positions to each glyph in this GlyphVector.

Specified by:
performDefaultLayout in interface GVTGlyphVector

setGlyphPosition

public void setGlyphPosition(int glyphIndex,
                             Point2D newPos)
Sets the position of the specified glyph within this GlyphVector.

Specified by:
setGlyphPosition in interface GVTGlyphVector

setGlyphTransform

public void setGlyphTransform(int glyphIndex,
                              AffineTransform newTX)
Sets the transform of the specified glyph within this GlyphVector.

Specified by:
setGlyphTransform in interface GVTGlyphVector

setGlyphVisible

public void setGlyphVisible(int glyphIndex,
                            boolean visible)
Tells the glyph vector whether or not to draw the specified glyph.

Specified by:
setGlyphVisible in interface GVTGlyphVector

isGlyphVisible

public boolean isGlyphVisible(int glyphIndex)
Returns true if specified glyph will be rendered.

Specified by:
isGlyphVisible in interface GVTGlyphVector

getCharacterCount

public int getCharacterCount(int startGlyphIndex,
                             int endGlyphIndex)
Returns the number of chars represented by the glyphs within the specified range.

Specified by:
getCharacterCount in interface GVTGlyphVector
Parameters:
startGlyphIndex - The index of the first glyph in the range.
endGlyphIndex - The index of the last glyph in the range.
Returns:
The number of chars.

draw

public void draw(Graphics2D graphics2D,
                 AttributedCharacterIterator aci)
Draws this glyph vector.

Specified by:
draw in interface GVTGlyphVector


Copyright © 2008 Apache Software Foundation. All Rights Reserved.