Package net.sf.jasperreports.engine.fill
Class SimpleTextLineWrapper
- java.lang.Object
-
- net.sf.jasperreports.engine.fill.SimpleTextLineWrapper
-
- All Implemented Interfaces:
TextLineWrapper
public class SimpleTextLineWrapper extends Object implements TextLineWrapper
- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
SimpleTextLineWrapper.ElementFontInfo
protected static class
SimpleTextLineWrapper.FontInfo
protected static class
SimpleTextLineWrapper.FontKey
protected static class
SimpleTextLineWrapper.FontStatistics
-
Field Summary
Fields Modifier and Type Field Description protected static String
FILL_CACHE_KEY_ELEMENT_FONT_INFOS
protected static 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 String
MEASURE_EXACT_ALWAYS
static String
MEASURE_EXACT_MULTILINE
protected static int
NEXT_BREAK_INDEX_THRESHOLD
static String
PROPERTY_ELEMENT_CACHE_SIZE
static String
PROPERTY_MEASURE_EXACT
-
Constructor Summary
Constructors Constructor Description SimpleTextLineWrapper()
SimpleTextLineWrapper(SimpleTextLineWrapper parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TextLine
baseTextLine(int index)
char
charAt(int index)
protected HashMap<Pair<UUID,SimpleTextLineWrapper.FontKey>,SimpleTextLineWrapper.ElementFontInfo>
createElementFontInfosFillCache()
protected void
createFontInfo(Map<AttributedCharacterIterator.Attribute,Object> textAttributes)
protected boolean
determineComplexLayout(Font font)
protected float
determineLeading(Font font)
protected int
estimateBreakIndex(float width, int endLimit)
protected SimpleTextLineWrapper.FontInfo
getGeneralFontInfo(Map<AttributedCharacterIterator.Attribute,Object> textAttributes)
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(String lineText, int start, int textLength, boolean truncateAtChar)
protected Font
loadFont(Map<AttributedCharacterIterator.Attribute,Object> textAttributes)
float
maxFontsize(int start, int end)
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 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(String text, int start, boolean truncateAtChar)
protected TextLine
toTextLine(int measureIndex, Rectangle2D measuredBounds)
protected boolean
useExactLineMeasurement()
-
-
-
Field Detail
-
PROPERTY_MEASURE_EXACT
public static final String PROPERTY_MEASURE_EXACT
- See Also:
- Constant Field Values
-
PROPERTY_ELEMENT_CACHE_SIZE
public static final String PROPERTY_ELEMENT_CACHE_SIZE
- See Also:
- Constant Field Values
-
MEASURE_EXACT_ALWAYS
public static final String MEASURE_EXACT_ALWAYS
- See Also:
- Constant Field Values
-
MEASURE_EXACT_MULTILINE
public static final String MEASURE_EXACT_MULTILINE
- See Also:
- Constant Field Values
-
FONT_MIN_COUNT
protected static final int FONT_MIN_COUNT
- See Also:
- Constant Field Values
-
FONT_SIZE_MIN_FACTOR
protected static final double FONT_SIZE_MIN_FACTOR
- See Also:
- Constant Field Values
-
FONT_WIDTH_CHECK_FACTOR
protected static final double FONT_WIDTH_CHECK_FACTOR
- See Also:
- Constant Field Values
-
NEXT_BREAK_INDEX_THRESHOLD
protected static final int NEXT_BREAK_INDEX_THRESHOLD
- See Also:
- Constant Field Values
-
FILL_CACHE_KEY_ELEMENT_FONT_INFOS
protected static final String FILL_CACHE_KEY_ELEMENT_FONT_INFOS
-
FILL_CACHE_KEY_GENERAL_FONT_INFOS
protected static final String FILL_CACHE_KEY_GENERAL_FONT_INFOS
-
-
Constructor Detail
-
SimpleTextLineWrapper
public SimpleTextLineWrapper()
-
SimpleTextLineWrapper
public SimpleTextLineWrapper(SimpleTextLineWrapper parent)
-
-
Method Detail
-
init
public void init(TextMeasureContext context)
- Specified by:
init
in interfaceTextLineWrapper
-
start
public boolean start(JRStyledText styledText)
- Specified by:
start
in interfaceTextLineWrapper
-
createFontInfo
protected void createFontInfo(Map<AttributedCharacterIterator.Attribute,Object> textAttributes)
-
createElementFontInfosFillCache
protected HashMap<Pair<UUID,SimpleTextLineWrapper.FontKey>,SimpleTextLineWrapper.ElementFontInfo> createElementFontInfosFillCache()
-
getGeneralFontInfo
protected SimpleTextLineWrapper.FontInfo getGeneralFontInfo(Map<AttributedCharacterIterator.Attribute,Object> textAttributes)
-
loadFont
protected Font loadFont(Map<AttributedCharacterIterator.Attribute,Object> textAttributes)
-
determineComplexLayout
protected boolean determineComplexLayout(Font font)
-
determineLeading
protected float determineLeading(Font font)
-
startParagraph
public void startParagraph(int paragraphStart, int paragraphEnd, boolean truncateAtChar)
- Specified by:
startParagraph
in interfaceTextLineWrapper
-
startEmptyParagraph
public void startEmptyParagraph(int paragraphStart)
- Specified by:
startEmptyParagraph
in interfaceTextLineWrapper
-
startParagraph
protected void startParagraph(String text, int start, boolean truncateAtChar)
-
isLeftToRight
protected boolean isLeftToRight(char[] chars)
-
isParagraphMeasureExact
protected boolean isParagraphMeasureExact(char[] chars)
-
hasComplexLayout
protected boolean hasComplexLayout(char[] chars)
-
paragraphPosition
public int paragraphPosition()
- Specified by:
paragraphPosition
in interfaceTextLineWrapper
-
paragraphEnd
public int paragraphEnd()
- Specified by:
paragraphEnd
in interfaceTextLineWrapper
-
nextLine
public TextLine nextLine(float width, int endLimit, boolean requireWord)
- Specified by:
nextLine
in interfaceTextLineWrapper
-
useExactLineMeasurement
protected boolean useExactLineMeasurement()
-
measureExactLine
protected TextLine measureExactLine(float width, int endLimit, boolean requireWord)
-
measureExactLineBreakIndex
protected int measureExactLineBreakIndex(float width, int endLimit, boolean requireWord)
-
measureLine
protected TextLine measureLine(float width, boolean requireWord, int endLimit)
-
estimateBreakIndex
protected int estimateBreakIndex(float width, int endLimit)
-
measureParagraphFragment
protected Rectangle2D measureParagraphFragment(int measureIndex)
-
toTextLine
protected TextLine toTextLine(int measureIndex, Rectangle2D measuredBounds)
-
baseTextLine
public TextLine baseTextLine(int index)
- Specified by:
baseTextLine
in interfaceTextLineWrapper
-
maxFontsize
public float maxFontsize(int start, int end)
- Specified by:
maxFontsize
in interfaceTextLineWrapper
-
getLineText
public String getLineText(int start, int end)
- Specified by:
getLineText
in interfaceTextLineWrapper
-
charAt
public char charAt(int index)
- Specified by:
charAt
in interfaceTextLineWrapper
-
lastLineWrapper
public TextLineWrapper lastLineWrapper(String lineText, int start, int textLength, boolean truncateAtChar)
- Specified by:
lastLineWrapper
in interfaceTextLineWrapper
-
-