Todo: The whole horizontal alignment is not suitable for spanned page
breaks.
computeInlineBlock
protected void computeInlineBlock(RenderBox box,
long position,
long itemElementWidth)
getBreakableIndex
public int getBreakableIndex()
getElementDimensions
public long[] getElementDimensions()
getElementPositions
public long[] getElementPositions()
getEndOfLine
public long getEndOfLine()
getPageBreak
protected long getPageBreak(int pageIndex)
getPageGrid
public PageGrid getPageGrid()
getSkipIndex
public int getSkipIndex()
getStartOfLine
public long getStartOfLine()
handleElement
protected int handleElement(int start,
int count)
Handle the next input chunk.
start
- the start indexcount
- the number of elements in the sequence
- the processing position. Linebreaks will be inserted, if the
returned value is equal or less the start index.
handleLayout
protected abstract int handleLayout(int start,
int count,
int contentIndex,
long usedWidth)
initialize
public void initialize(InlineSequenceElement[] sequence,
long start,
long end,
PageGrid breaks)
Initializes the alignment process. The start and end parameters specify the
line boundaries, and have been precomputed.
- initialize in interface TextAlignmentProcessor
sequence
- start
- end
- breaks
-
setBreakableIndex
public void setBreakableIndex(int breakableIndex)
setSkipIndex
public void setSkipIndex(int skipIndex)