Class SVGGVTGlyphVector

java.lang.Object
org.apache.batik.gvt.font.SVGGVTGlyphVector
All Implemented Interfaces:
GVTGlyphVector

public final class SVGGVTGlyphVector extends Object implements GVTGlyphVector
A GVTGlyphVector class for SVG fonts.
  • Field Details

  • Constructor Details

    • SVGGVTGlyphVector

      public SVGGVTGlyphVector(GVTFont font, Glyph[] glyphs, FontRenderContext frc)
      Constructs an SVGGVTGlyphVector.
      Parameters:
      font - The font that is creating this glyph vector.
      glyphs - An array containing the glyphs that form the basis for this glyph vector.
      frc - The current font render context.
  • Method Details

    • getFont

      public GVTFont getFont()
      Returns the Font associated with this GlyphVector.
      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) throws IndexOutOfBoundsException
      Returns the glyphcode of the specified glyph.
      Specified by:
      getGlyphCode in interface GVTGlyphVector
      Throws:
      IndexOutOfBoundsException
    • getGlyphCodes

      public int[] getGlyphCodes(int beginGlyphIndex, int numEntries, int[] codeReturn) throws IndexOutOfBoundsException, IllegalArgumentException
      Returns an array of glyphcodes for the specified glyphs.
      Specified by:
      getGlyphCodes in interface GVTGlyphVector
      Throws:
      IndexOutOfBoundsException
      IllegalArgumentException
    • 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
    • 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 idx)
      Returns the metrics of the glyph at the specified index into this GlyphVector.
      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
    • 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
    • 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 geometric bounds of this GlyphVector. The geometric bounds is the tightest rectangle enclosing the geometry of the glyph vector (not including stroke).
      Specified by:
      getGeometricBounds in interface GVTGlyphVector
    • performDefaultLayout

      public void performDefaultLayout()
      Assigns default positions to each glyph in this GlyphVector. The default layout is horizontal.
      Specified by:
      performDefaultLayout in interface GVTGlyphVector
    • setGlyphPosition

      public void setGlyphPosition(int glyphIndex, Point2D newPos) throws IndexOutOfBoundsException
      Sets the position of the specified glyph within this GlyphVector.
      Specified by:
      setGlyphPosition in interface GVTGlyphVector
      Throws:
      IndexOutOfBoundsException
    • 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.
    • isReversed

      public boolean isReversed()
      Description copied from interface: GVTGlyphVector
      Return true if glyphs have been reversed.
      Specified by:
      isReversed in interface GVTGlyphVector
    • maybeReverse

      public void maybeReverse(boolean mirror)
      Description copied from interface: GVTGlyphVector
      Reverse (and optionally mirror) glyphs if not already reversed.
      Specified by:
      maybeReverse in interface GVTGlyphVector
    • draw

      public void draw(Graphics2D graphics2D, AttributedCharacterIterator aci)
      Draws this glyph vector.
      Specified by:
      draw in interface GVTGlyphVector