public class SimpleTextLineWrapper extends java.lang.Object implements TextLineWrapper
Modifier and Type | Class and Description |
---|---|
protected static class |
SimpleTextLineWrapper.ElementFontInfo |
protected static class |
SimpleTextLineWrapper.FontInfo |
protected static class |
SimpleTextLineWrapper.FontKey |
protected static class |
SimpleTextLineWrapper.FontStatistics |
Modifier and Type | Field and Description |
---|---|
protected static int |
COMPEX_LAYOUT_END_CHAR |
protected static int |
COMPEX_LAYOUT_START_CHAR |
protected static java.lang.String |
FILL_CACHE_KEY_ELEMENT_FONT_INFOS |
protected static java.lang.String |
FILL_CACHE_KEY_GENERAL_FONT_INFOS |
protected static int |
FONT_MIN_COUNT |
protected static double |
FONT_SIZE_MIN_FACTOR |
protected static double |
FONT_WIDTH_CHECK_FACTOR |
static java.lang.String |
MEASURE_EXACT_ALWAYS |
static java.lang.String |
MEASURE_EXACT_MULTILINE |
protected static int |
NEXT_BREAK_INDEX_THRESHOLD |
static java.lang.String |
PROPERTY_ELEMENT_CACHE_SIZE |
static java.lang.String |
PROPERTY_MEASURE_EXACT |
protected static java.util.Set<java.lang.Character.UnicodeBlock> |
simpleLayoutBlocks |
Constructor and Description |
---|
SimpleTextLineWrapper() |
SimpleTextLineWrapper(SimpleTextLineWrapper parent) |
Modifier and Type | Method and Description |
---|---|
TextLine |
baseTextLine(int index) |
char |
charAt(int index) |
protected java.util.HashMap<Pair<java.util.UUID,SimpleTextLineWrapper.FontKey>,SimpleTextLineWrapper.ElementFontInfo> |
createElementFontInfosFillCache() |
protected void |
createFontInfo(java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> textAttributes) |
protected boolean |
determineComplexLayout(java.awt.Font font) |
protected float |
determineLeading(java.awt.Font font) |
protected int |
estimateBreakIndex(float width,
int endLimit) |
protected SimpleTextLineWrapper.FontInfo |
getGeneralFontInfo(java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> textAttributes) |
java.lang.String |
getLineText(int start,
int end) |
protected boolean |
hasComplexLayout(char[] chars) |
void |
init(TextMeasureContext context) |
protected boolean |
isLeftToRight(char[] chars) |
protected boolean |
isParagraphMeasureExact(char[] chars) |
TextLineWrapper |
lastLineWrapper(java.lang.String lineText,
int start,
int textLength,
boolean truncateAtChar) |
protected java.awt.Font |
loadFont(java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> textAttributes) |
float |
maxFontsize(int start,
int end) |
int |
maxFontSize(int start,
int end)
Deprecated.
Replaced by
maxFontsize(int, int) . |
protected TextLine |
measureExactLine(float width,
int endLimit,
boolean requireWord) |
protected int |
measureExactLineBreakIndex(float width,
int endLimit,
boolean requireWord) |
protected TextLine |
measureLine(float width,
boolean requireWord,
int endLimit) |
protected java.awt.geom.Rectangle2D |
measureParagraphFragment(int measureIndex) |
TextLine |
nextLine(float width,
int endLimit,
boolean requireWord) |
int |
paragraphEnd() |
int |
paragraphPosition() |
boolean |
start(JRStyledText styledText) |
void |
startEmptyParagraph(int paragraphStart) |
void |
startParagraph(int paragraphStart,
int paragraphEnd,
boolean truncateAtChar) |
protected void |
startParagraph(java.lang.String text,
int start,
boolean truncateAtChar) |
protected TextLine |
toTextLine(int measureIndex,
java.awt.geom.Rectangle2D measuredBounds) |
protected boolean |
useExactLineMeasurement() |
public static final java.lang.String PROPERTY_MEASURE_EXACT
public static final java.lang.String PROPERTY_ELEMENT_CACHE_SIZE
public static final java.lang.String MEASURE_EXACT_ALWAYS
public static final java.lang.String MEASURE_EXACT_MULTILINE
protected static final int FONT_MIN_COUNT
protected static final double FONT_SIZE_MIN_FACTOR
protected static final double FONT_WIDTH_CHECK_FACTOR
protected static final int NEXT_BREAK_INDEX_THRESHOLD
protected static final int COMPEX_LAYOUT_START_CHAR
protected static final int COMPEX_LAYOUT_END_CHAR
protected static final java.lang.String FILL_CACHE_KEY_ELEMENT_FONT_INFOS
protected static final java.lang.String FILL_CACHE_KEY_GENERAL_FONT_INFOS
protected static final java.util.Set<java.lang.Character.UnicodeBlock> simpleLayoutBlocks
public SimpleTextLineWrapper()
public SimpleTextLineWrapper(SimpleTextLineWrapper parent)
public void init(TextMeasureContext context)
init
in interface TextLineWrapper
public boolean start(JRStyledText styledText)
start
in interface TextLineWrapper
protected void createFontInfo(java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> textAttributes)
protected java.util.HashMap<Pair<java.util.UUID,SimpleTextLineWrapper.FontKey>,SimpleTextLineWrapper.ElementFontInfo> createElementFontInfosFillCache()
protected SimpleTextLineWrapper.FontInfo getGeneralFontInfo(java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> textAttributes)
protected java.awt.Font loadFont(java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> textAttributes)
protected boolean determineComplexLayout(java.awt.Font font)
protected float determineLeading(java.awt.Font font)
public void startParagraph(int paragraphStart, int paragraphEnd, boolean truncateAtChar)
startParagraph
in interface TextLineWrapper
public void startEmptyParagraph(int paragraphStart)
startEmptyParagraph
in interface TextLineWrapper
protected void startParagraph(java.lang.String text, int start, boolean truncateAtChar)
protected boolean isLeftToRight(char[] chars)
protected boolean isParagraphMeasureExact(char[] chars)
protected boolean hasComplexLayout(char[] chars)
public int paragraphPosition()
paragraphPosition
in interface TextLineWrapper
public int paragraphEnd()
paragraphEnd
in interface TextLineWrapper
public TextLine nextLine(float width, int endLimit, boolean requireWord)
nextLine
in interface TextLineWrapper
protected boolean useExactLineMeasurement()
protected TextLine measureExactLine(float width, int endLimit, boolean requireWord)
protected int measureExactLineBreakIndex(float width, int endLimit, boolean requireWord)
protected TextLine measureLine(float width, boolean requireWord, int endLimit)
protected int estimateBreakIndex(float width, int endLimit)
protected java.awt.geom.Rectangle2D measureParagraphFragment(int measureIndex)
protected TextLine toTextLine(int measureIndex, java.awt.geom.Rectangle2D measuredBounds)
public TextLine baseTextLine(int index)
baseTextLine
in interface TextLineWrapper
public float maxFontsize(int start, int end)
maxFontsize
in interface TextLineWrapper
public int maxFontSize(int start, int end)
maxFontsize(int, int)
.maxFontSize
in interface TextLineWrapper
public java.lang.String getLineText(int start, int end)
getLineText
in interface TextLineWrapper
public char charAt(int index)
charAt
in interface TextLineWrapper
public TextLineWrapper lastLineWrapper(java.lang.String lineText, int start, int textLength, boolean truncateAtChar)
lastLineWrapper
in interface TextLineWrapper
© 2001-2014 TIBCO Software Inc. www.jaspersoft.com