Package org.apache.batik.gvt.text
Class GVTACIImpl
java.lang.Object
org.apache.batik.gvt.text.GVTACIImpl
- All Implemented Interfaces:
Cloneable
,AttributedCharacterIterator
,CharacterIterator
,GVTAttributedCharacterIterator
GVTACIImpl
Used to implement SVG <tspan> and <text>
attributes. This implementation is designed for efficient support
of per-character attributes (i.e. single character attribute spans).
It supports an extended set of TextAttributes, via inner class
GVTAttributedCharacterIterator.TextAttributes.
- Version:
- $Id: GVTACIImpl.java 1831635 2018-05-15 13:33:47Z ssteiner $
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
AttributeFilter which converts (extended) location attributes SVGAttributedCharacterIterator.TextAttribute.X, TextAttribute.Y, TextAttribute.ROTATE attributes to TextAttribute.TRANSFORM attributes.Nested classes/interfaces inherited from interface java.text.AttributedCharacterIterator
AttributedCharacterIterator.Attribute
Nested classes/interfaces inherited from interface org.apache.batik.gvt.text.GVTAttributedCharacterIterator
GVTAttributedCharacterIterator.AttributeFilter, GVTAttributedCharacterIterator.TextAttribute
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Set
private int[]
private int
private static int
private CharacterIterator
private ArrayList
private static int
private String
private static int
private static int
Fields inherited from interface java.text.CharacterIterator
DONE
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new GVTAttributedCharacterIterator with no attributes and a null string.Constructs a GVTACIImpl whose contents are equivalent to those of aci. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
private void
clone()
Create a copy of this iteratorchar
current()
Get the character at the current position (as returned by getIndex()).char
first()
Sets the position to getBeginIndex().Get the keys of all attributes defined on the iterator's text range.Get the value of the named attribute for the current character.Returns a map with the attributes defined on the current character.int
Get the start index of the text.int
Get the end index of the text.int
getIndex()
Get the current index.int
Get the index of the first character following the run with respect to all attributes containing the current character.int
getRunLimit
(AttributedCharacterIterator.Attribute attribute) Get the index of the first character following the run with respect to the given attribute containing the current character.int
getRunLimit
(Set attributes) Get the index of the first character following the run with respect to the given attributes containing the current character.int
Get the index of the first character of the run with respect to all attributes containing the current character.int
getRunStart
(AttributedCharacterIterator.Attribute attribute) Get the index of the first character of the run with respect to the given attribute containing the current character.int
getRunStart
(Set attributes) Get the index of the first character of the run with respect to the given attributes containing the current character.char
last()
Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty) and returns the character at that position.char
next()
Increments the iterator's index by one, returning the next character.char
previous()
Decrements the iterator's index by one and returns the character at the new index.void
setAttributeArray
(GVTAttributedCharacterIterator.TextAttribute attr, Object[] attValues, int beginIndex, int endIndex) Sets values of a per-character attribute associated with the content string.char
setIndex
(int position) Sets the position to the specified position in the text.void
Sets this iterator's contents to an unattributed copy of String s.void
Assigns this iterator's contents to be equivalent to AttributedString s.
-
Field Details
-
simpleString
-
allAttributes
-
mapList
-
START_RUN
private static int START_RUN -
END_RUN
private static int END_RUN -
MID_RUN
private static int MID_RUN -
SINGLETON
private static int SINGLETON -
charInRun
private int[] charInRun -
iter
-
currentIndex
private int currentIndex
-
-
Constructor Details
-
GVTACIImpl
public GVTACIImpl()Constructs a new GVTAttributedCharacterIterator with no attributes and a null string. -
GVTACIImpl
Constructs a GVTACIImpl whose contents are equivalent to those of aci. This constructor creates a new copy of the source data inaci
.
-
-
Method Details
-
setString
Sets this iterator's contents to an unattributed copy of String s.- Specified by:
setString
in interfaceGVTAttributedCharacterIterator
-
setString
Assigns this iterator's contents to be equivalent to AttributedString s.- Specified by:
setString
in interfaceGVTAttributedCharacterIterator
-
setAttributeArray
public void setAttributeArray(GVTAttributedCharacterIterator.TextAttribute attr, Object[] attValues, int beginIndex, int endIndex) Sets values of a per-character attribute associated with the content string. Characters frombeginIndex
toendIndex
(zero-offset) are assigned values for attribute keyattr
from the arrayattValues.
If the length of attValues is less than character span(endIndex-beginIndex)
the last value is duplicated; if attValues is longer than the character span the extra values are ignored. Note that if either beginIndex or endIndex are outside the bounds of the current character array they are clipped accordingly.- Specified by:
setAttributeArray
in interfaceGVTAttributedCharacterIterator
-
getAllAttributeKeys
Get the keys of all attributes defined on the iterator's text range.- Specified by:
getAllAttributeKeys
in interfaceAttributedCharacterIterator
- Specified by:
getAllAttributeKeys
in interfaceGVTAttributedCharacterIterator
-
getAttribute
Get the value of the named attribute for the current character.- Specified by:
getAttribute
in interfaceAttributedCharacterIterator
- Specified by:
getAttribute
in interfaceGVTAttributedCharacterIterator
-
getAttributes
Returns a map with the attributes defined on the current character.- Specified by:
getAttributes
in interfaceAttributedCharacterIterator
- Specified by:
getAttributes
in interfaceGVTAttributedCharacterIterator
-
getRunLimit
public int getRunLimit()Get the index of the first character following the run with respect to all attributes containing the current character.- Specified by:
getRunLimit
in interfaceAttributedCharacterIterator
- Specified by:
getRunLimit
in interfaceGVTAttributedCharacterIterator
-
getRunLimit
Get the index of the first character following the run with respect to the given attribute containing the current character.- Specified by:
getRunLimit
in interfaceAttributedCharacterIterator
- Specified by:
getRunLimit
in interfaceGVTAttributedCharacterIterator
-
getRunLimit
Get the index of the first character following the run with respect to the given attributes containing the current character.- Specified by:
getRunLimit
in interfaceAttributedCharacterIterator
- Specified by:
getRunLimit
in interfaceGVTAttributedCharacterIterator
-
getRunStart
public int getRunStart()Get the index of the first character of the run with respect to all attributes containing the current character.- Specified by:
getRunStart
in interfaceAttributedCharacterIterator
- Specified by:
getRunStart
in interfaceGVTAttributedCharacterIterator
-
getRunStart
Get the index of the first character of the run with respect to the given attribute containing the current character.- Specified by:
getRunStart
in interfaceAttributedCharacterIterator
- Specified by:
getRunStart
in interfaceGVTAttributedCharacterIterator
- Parameters:
attribute
- The attribute for whose appearance the first offset is requested.
-
getRunStart
Get the index of the first character of the run with respect to the given attributes containing the current character.- Specified by:
getRunStart
in interfaceAttributedCharacterIterator
- Specified by:
getRunStart
in interfaceGVTAttributedCharacterIterator
- Parameters:
attributes
- the Set of attributes which begins at the returned index.
-
clone
Create a copy of this iterator- Specified by:
clone
in interfaceCharacterIterator
- Specified by:
clone
in interfaceGVTAttributedCharacterIterator
- Overrides:
clone
in classObject
-
current
public char current()Get the character at the current position (as returned by getIndex()).
Specified by: java.text.CharacterIterator.- Specified by:
current
in interfaceCharacterIterator
- Specified by:
current
in interfaceGVTAttributedCharacterIterator
-
first
public char first()Sets the position to getBeginIndex().- Specified by:
first
in interfaceCharacterIterator
- Specified by:
first
in interfaceGVTAttributedCharacterIterator
- Returns:
- the character at the start index of the text.
Specified by: java.text.CharacterIterator.
-
getBeginIndex
public int getBeginIndex()Get the start index of the text.
Specified by: java.text.CharacterIterator.- Specified by:
getBeginIndex
in interfaceCharacterIterator
- Specified by:
getBeginIndex
in interfaceGVTAttributedCharacterIterator
-
getEndIndex
public int getEndIndex()Get the end index of the text.
Specified by: java.text.CharacterIterator.- Specified by:
getEndIndex
in interfaceCharacterIterator
- Specified by:
getEndIndex
in interfaceGVTAttributedCharacterIterator
-
getIndex
public int getIndex()Get the current index.
Specified by: java.text.CharacterIterator.- Specified by:
getIndex
in interfaceCharacterIterator
- Specified by:
getIndex
in interfaceGVTAttributedCharacterIterator
-
last
public char last()Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty) and returns the character at that position.
Specified by: java.text.CharacterIterator.- Specified by:
last
in interfaceCharacterIterator
- Specified by:
last
in interfaceGVTAttributedCharacterIterator
-
next
public char next()Increments the iterator's index by one, returning the next character.- Specified by:
next
in interfaceCharacterIterator
- Specified by:
next
in interfaceGVTAttributedCharacterIterator
- Returns:
- the character at the new index.
Specified by: java.text.CharacterIterator.
-
previous
public char previous()Decrements the iterator's index by one and returns the character at the new index.
Specified by: java.text.CharacterIterator.- Specified by:
previous
in interfaceCharacterIterator
- Specified by:
previous
in interfaceGVTAttributedCharacterIterator
-
setIndex
public char setIndex(int position) Sets the position to the specified position in the text.- Specified by:
setIndex
in interfaceCharacterIterator
- Specified by:
setIndex
in interfaceGVTAttributedCharacterIterator
- Parameters:
position
- The new (current) index into the text.- Returns:
- the character at new index position.
Specified by: java.text.CharacterIterator.
-
buildAttributeTables
private void buildAttributeTables() -
buildAttributeTables
-