org.apache.batik.gvt.renderer
public class StrokingTextPainter extends BasicTextPainter
See Also: TextPainter
Nested Class Summary | |
---|---|
class | StrokingTextPainter.TextRun
Inner convenience class for associating a TextLayout for
sub-spans, and the ACI which iterates over that subspan. |
Field Summary | |
---|---|
static Integer | ADJUST_ALL |
static Integer | ADJUST_SPACING |
static GVTAttributedCharacterIterator.TextAttribute | ALT_GLYPH_HANDLER |
static Attribute | ANCHOR_TYPE |
static Attribute | BIDI_LEVEL |
static Attribute | FLOW_PARAGRAPH |
static Attribute | FLOW_REGIONS |
static Attribute | GVT_FONT |
static Attribute | GVT_FONTS |
static Attribute | PAINT_INFO |
protected static TextPainter | singleton
A unique instance of this class. |
static Attribute | TEXTPATH |
static Attribute | TEXT_COMPOUND_ID |
static Attribute | WRITING_MODE |
static Integer | WRITING_MODE_RTL |
static Integer | WRITING_MODE_TTB |
static Attribute | XPOS |
static Attribute | YPOS |
Method Summary | |
---|---|
protected Point2D | adjustChunkOffsets(Point2D location, List textRuns, StrokingTextPainter.TextChunk chunk)
Adjusts the position of the text runs within the specified text chunk
to account for any text anchor properties. |
List | computeTextRuns(TextNode node, AttributedCharacterIterator aci, AttributedCharacterIterator[] chunkACIs) |
protected static AttributedCharacterIterator | createModifiedACIForFontMatching(AttributedCharacterIterator aci)
Returns a new AttributedCharacterIterator that contains resolved GVTFont
attributes. |
Rectangle2D | getBounds2D(TextNode node)
Get a Rectangle2D in userspace coords which encloses the textnode
glyphs including stroke etc. |
protected Shape | getDecorationOutline(List textRuns, int decorationType)
Returns the outline of the specified decoration type.
|
protected Shape | getDecorationStrokeOutline(List textRuns, int decorationType)
Returns the strokeed outline of the specified decoration type.
|
Shape | getHighlightShape(Mark beginMark, Mark endMark)
Return a Shape, in the coordinate system of the text layout,
which encloses the text selection delineated by two Mark instances.
|
static TextPainter | getInstance()
Returns a unique instance of this class. |
Mark | getMark(TextNode node, int index, boolean leadingEdge) |
Shape | getOutline(TextNode node)
Get a Shape in userspace coords which defines the textnode glyph outlines. |
int[] | getSelected(Mark startMark, Mark finishMark)
Returns an array of ints representing begin/end index pairs into
an AttributedCharacterIterator which represents the text
selection delineated by two Mark instances.
|
protected StrokingTextPainter.TextChunk | getTextChunk(TextNode node, AttributedCharacterIterator aci, int[] charMap, List textRuns, StrokingTextPainter.TextChunk prevChunk) |
protected AttributedCharacterIterator[] | getTextChunkACIs(AttributedCharacterIterator aci)
Returns an array of ACIs, one for each text chunk within the given
text node. |
List | getTextRuns(TextNode node, AttributedCharacterIterator aci) |
protected Mark | hitTest(double x, double y, TextNode node) |
void | paint(TextNode node, Graphics2D g2d)
Paints the specified text node using the specified Graphics2D.
|
protected void | paintDecorations(List textRuns, Graphics2D g2d, int decorationType)
Paints decorations of the specified type. |
protected void | paintTextRuns(List textRuns, Graphics2D g2d)
Paints the text in each text run. |
protected void | printAttrs(AttributedCharacterIterator aci) |
Mark | selectFirst(TextNode node)
Selects the first glyph in the text node. |
Mark | selectLast(TextNode node)
Selects the last glyph in the text node. |
Parameters: aci The aci to be modified should already be split into text chunks.
Returns: The new modified aci.
Parameters: textRuns The list of text runs to get the decoration outline for. decorationType Indicates the type of decoration required. eg. underline, overline or strikethrough.
Returns: The decoration outline or null if the text is not decorated.
Parameters: textRuns The list of text runs to get the decoration outline for. decorationType Indicates the type of decoration required. eg. underline, overline or strikethrough.
Returns: The decoration outline or null if the text is not decorated.
Parameters: node the TextNode to measure
Parameters: node the text node to paint g2d the Graphics2D to use