package org.apache.batik.gvt.font; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.font.FontRenderContext; import java.awt.font.GlyphJustificationInfo; import java.awt.geom.AffineTransform; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.text.AttributedCharacterIterator; public interface GVTGlyphVector { void draw(Graphics2D graphics2D, AttributedCharacterIterator attributedCharacterIterator); Rectangle2D getBounds2D(AttributedCharacterIterator attributedCharacterIterator); int getCharacterCount(int i, int i2); GVTFont getFont(); FontRenderContext getFontRenderContext(); Rectangle2D getGeometricBounds(); Rectangle2D getGlyphCellBounds(int i); int getGlyphCode(int i); int[] getGlyphCodes(int i, int i2, int[] iArr); GlyphJustificationInfo getGlyphJustificationInfo(int i); Shape getGlyphLogicalBounds(int i); GVTGlyphMetrics getGlyphMetrics(int i); Shape getGlyphOutline(int i); Point2D getGlyphPosition(int i); float[] getGlyphPositions(int i, int i2, float[] fArr); AffineTransform getGlyphTransform(int i); Shape getGlyphVisualBounds(int i); Rectangle2D getLogicalBounds(); int getNumGlyphs(); Shape getOutline(); Shape getOutline(float f, float f2); boolean isGlyphVisible(int i); void performDefaultLayout(); void setGlyphPosition(int i, Point2D point2D); void setGlyphTransform(int i, AffineTransform affineTransform); void setGlyphVisible(int i, boolean z); }