package org.apache.batik.gvt.text; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import org.apache.batik.gvt.font.GVTGlyphMetrics; import org.apache.batik.gvt.font.GVTGlyphVector; import org.apache.batik.gvt.font.GVTLineMetrics; public interface TextSpanLayout { public static final int DECORATION_ALL = 7; public static final int DECORATION_OVERLINE = 4; public static final int DECORATION_STRIKETHROUGH = 2; public static final int DECORATION_UNDERLINE = 1; void draw(Graphics2D graphics2D); Point2D getAdvance2D(); Rectangle2D getBounds2D(); int getCharacterCount(int i, int i2); double getComputedOrientationAngle(int i); Shape getDecorationOutline(int i); Rectangle2D getGeometricBounds(); float[] getGlyphAdvances(); int getGlyphCount(); int getGlyphIndex(int i); GVTGlyphMetrics getGlyphMetrics(int i); GVTGlyphVector getGlyphVector(); Shape getHighlightShape(int i, int i2); GVTLineMetrics getLineMetrics(); Point2D getOffset(); Shape getOutline(); Point2D getTextPathAdvance(); boolean hasCharacterIndex(int i); TextHit hitTestChar(float f, float f2); boolean isAltGlyph(); boolean isLeftToRight(); boolean isOnATextPath(); boolean isVertical(); void setOffset(Point2D point2D); void setScale(float f, float f2, boolean z); }