public class PageBreaker extends AbstractBreaker
AbstractBreaker.BlockSequence, AbstractBreaker.PageBreakPosition
alignment, footnoteSeparatorLength, log
Constructor and Description |
---|
PageBreaker(PageSequenceLayoutManager pslm)
Construct page breaker.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addAreas(PositionIterator posIter,
LayoutContext context)
Adds an area to the flow layout manager
|
protected PageBreakingAlgorithm.PageBreakingLayoutListener |
createLayoutListener()
Creates and returns a PageBreakingLayoutListener for the PageBreakingAlgorithm to
notify about layout problems.
|
protected void |
doPhase3(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg,
int partCount,
AbstractBreaker.BlockSequence originalList,
AbstractBreaker.BlockSequence effectiveList)
Phase 3 of Knuth algorithm: Adds the areas
|
protected void |
finishPart(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg,
AbstractBreaker.PageBreakPosition pbp)
Finish part.
|
protected LayoutManager |
getCurrentChildLM() |
protected int |
getCurrentDisplayAlign() |
protected int |
getNextBlockList(LayoutContext childLC,
int nextSequenceStartsOn)
Gets the next block list (sequence) and adds it to a list of block lists if it's not empty.
|
protected int |
getNextBlockList(LayoutContext childLC,
int nextSequenceStartsOn,
Position positionAtIPDChange,
LayoutManager restartLM,
java.util.List firstElements)
Gets the next block list (sequence) and adds it to a list of block lists
if it's not empty.
|
protected java.util.List |
getNextKnuthElements(LayoutContext context,
int alignment)
Get a sequence of KnuthElements representing the content
of the node assigned to the LM
|
protected java.util.List |
getNextKnuthElements(LayoutContext context,
int alignment,
Position positionAtIPDChange,
LayoutManager restartAtLM)
Get a sequence of KnuthElements representing the content
of the node assigned to the LM
|
protected PageProvider |
getPageProvider()
Returns the PageProvider if any.
|
protected LayoutManager |
getTopLevelLM() |
protected void |
handleEmptyContent()
This method is called when no content is available for a part.
|
protected int |
handleSpanChange(LayoutContext childLC,
int nextSequenceStartsOn)
Handles span changes reported through the
LayoutContext . |
protected boolean |
hasMoreContent() |
protected void |
observeElementList(java.util.List elementList)
Used for debugging purposes.
|
protected void |
startPart(AbstractBreaker.BlockSequence list,
int breakClass)
Start part.
|
protected void |
updateLayoutContext(LayoutContext context)
Used to update the LayoutContext in subclasses prior to starting a new element list.
|
addAreas, addAreas, createLayoutContext, doLayout, isEmpty, isPartOverflowRecoveryActivated, isSinglePartFavored
public PageBreaker(PageSequenceLayoutManager pslm)
pslm
- the page sequence layout managerprotected void updateLayoutContext(LayoutContext context)
updateLayoutContext
in class AbstractBreaker
context
- the LayoutContext to updateprotected LayoutManager getTopLevelLM()
getTopLevelLM
in class AbstractBreaker
protected PageProvider getPageProvider()
getPageProvider
in class AbstractBreaker
protected PageBreakingAlgorithm.PageBreakingLayoutListener createLayoutListener()
createLayoutListener
in class AbstractBreaker
protected int handleSpanChange(LayoutContext childLC, int nextSequenceStartsOn)
LayoutContext
.
Only used by the PSLM and called by getNextBlockList()
.handleSpanChange
in class AbstractBreaker
childLC
- the LayoutContextnextSequenceStartsOn
- previous value for break handlingprotected int getNextBlockList(LayoutContext childLC, int nextSequenceStartsOn)
getNextBlockList
in class AbstractBreaker
childLC
- LayoutContext to usenextSequenceStartsOn
- indicates on what page the next sequence should startprotected int getNextBlockList(LayoutContext childLC, int nextSequenceStartsOn, Position positionAtIPDChange, LayoutManager restartLM, java.util.List firstElements)
getNextBlockList
in class AbstractBreaker
childLC
- LayoutContext to usenextSequenceStartsOn
- indicates on what page the next sequence
should startpositionAtIPDChange
- last element on the part before an IPD changerestartLM
- the layout manager from which to restart, if IPD
change occurs between two LMsfirstElements
- elements from non-restartable LMs on the new pageprotected java.util.List getNextKnuthElements(LayoutContext context, int alignment)
getNextKnuthElements
in class AbstractBreaker
context
- the LayoutContext used to store layout informationalignment
- the desired text alignmentprotected java.util.List getNextKnuthElements(LayoutContext context, int alignment, Position positionAtIPDChange, LayoutManager restartAtLM)
getNextKnuthElements
in class AbstractBreaker
context
- the LayoutContext used to store layout informationalignment
- the desired text alignmentpositionAtIPDChange
- last element on the part before an IPD changerestartAtLM
- the layout manager from which to restart, if IPD
change occurs between two LMsprotected int getCurrentDisplayAlign()
getCurrentDisplayAlign
in class AbstractBreaker
protected boolean hasMoreContent()
hasMoreContent
in class AbstractBreaker
protected void addAreas(PositionIterator posIter, LayoutContext context)
addAreas
in class AbstractBreaker
posIter
- the position iteratorcontext
- the layout contextprotected void doPhase3(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, int partCount, AbstractBreaker.BlockSequence originalList, AbstractBreaker.BlockSequence effectiveList)
doPhase3
in class AbstractBreaker
alg
- PageBreakingAlgorithm instance which determined the breakspartCount
- number of parts (pages) to be renderedoriginalList
- original Knuth element listeffectiveList
- effective Knuth element list (after adjustments)protected void startPart(AbstractBreaker.BlockSequence list, int breakClass)
startPart
in class AbstractBreaker
list
- a block sequencebreakClass
- a break classprotected void handleEmptyContent()
handleEmptyContent
in class AbstractBreaker
protected void finishPart(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, AbstractBreaker.PageBreakPosition pbp)
finishPart
in class AbstractBreaker
alg
- a page breaking algorithmpbp
- a page break posittionprotected LayoutManager getCurrentChildLM()
getCurrentChildLM
in class AbstractBreaker
protected void observeElementList(java.util.List elementList)
observeElementList
in class AbstractBreaker
elementList
- the Knuth element listCopyright 1999-2012 The Apache Software Foundation. All Rights Reserved.