Package org.apache.fop.layoutmgr
Class BlockContainerLayoutManager.BlockContainerBreaker
java.lang.Object
org.apache.fop.layoutmgr.AbstractBreaker
org.apache.fop.layoutmgr.BlockContainerLayoutManager.BlockContainerBreaker
- Enclosing class:
- BlockContainerLayoutManager
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.fop.layoutmgr.AbstractBreaker
AbstractBreaker.BlockSequence, AbstractBreaker.FloatPosition, AbstractBreaker.PageBreakPosition
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate BlockContainerLayoutManager
private PageBreakingAlgorithm
private AbstractBreaker.BlockSequence
private AbstractBreaker.BlockSequence
private MinOptMax
Fields inherited from class org.apache.fop.layoutmgr.AbstractBreaker
alignment, blockListIndex, blockLists, firstElementsForRestart, footnoteSeparatorLength, log, originalRestartAtLM, positionAtBreak, pslm
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAreas
(PositionIterator posIter, LayoutContext context) Tell the layout manager to add all the child areas implied by Position objects which will be returned by the Iterator.void
addContainedAreas
(LayoutContext layoutContext) protected LayoutContext
Creates the top-level LayoutContext for the breaker operation.protected void
doPhase3
(PageBreakingAlgorithm alg, int partCount, AbstractBreaker.BlockSequence originalList, AbstractBreaker.BlockSequence effectiveList) Phase 3 of Knuth algorithm: Adds the areasprotected void
Finish part.protected LayoutManager
protected int
int
protected List
getNextKnuthElements
(LayoutContext context, int alignment) Get a sequence of KnuthElements representing the content of the node assigned to the LMint
protected LayoutManager
protected boolean
boolean
protected boolean
Controls the behaviour of the algorithm in cases where the first element of a part overflows a line/page.protected boolean
protected void
observeElementList
(List elementList) Used for debugging purposes.Methods inherited from class org.apache.fop.layoutmgr.AbstractBreaker
addAreas, addAreas, addAreas, addAreasForFloats, containsNonRestartableLM, createLayoutListener, doLayout, getBreakClassName, getNextBlockList, getNextBlockList, getNextKnuthElements, getPageProvider, handleEmptyContent, handleFloatLayout, handleSpanChange, isEmpty, lastPageHasIPDChange, prepareToRedoLayout, shouldRedoLayout, startPart, updateLayoutContext, wasLayoutRedone
-
Field Details
-
bclm
-
ipd
-
deferredAlg
-
deferredOriginalList
-
deferredEffectiveList
-
-
Constructor Details
-
BlockContainerBreaker
-
-
Method Details
-
observeElementList
Used for debugging purposes. Notifies all registered observers about the element list. Override to set different parameters.- Overrides:
observeElementList
in classAbstractBreaker
- Parameters:
elementList
- the Knuth element list
-
isPartOverflowRecoveryActivated
protected boolean isPartOverflowRecoveryActivated()Controls the behaviour of the algorithm in cases where the first element of a part overflows a line/page.- Overrides:
isPartOverflowRecoveryActivated
in classAbstractBreaker
- Returns:
- true if the algorithm should try to send the element to the next line/page.
-
isSinglePartFavored
protected boolean isSinglePartFavored()- Overrides:
isSinglePartFavored
in classAbstractBreaker
- Returns:
- true if one a single part should be produced if possible (ex. for block-containers)
-
getDifferenceOfFirstPart
public int getDifferenceOfFirstPart() -
isOverflow
public boolean isOverflow() -
getOverflowAmount
public int getOverflowAmount() -
getTopLevelLM
- Specified by:
getTopLevelLM
in classAbstractBreaker
- Returns:
- top level layout manager
-
createLayoutContext
Description copied from class:AbstractBreaker
Creates the top-level LayoutContext for the breaker operation.- Overrides:
createLayoutContext
in classAbstractBreaker
- Returns:
- the top-level LayoutContext
-
getNextKnuthElements
Description copied from class:AbstractBreaker
Get a sequence of KnuthElements representing the content of the node assigned to the LM- Specified by:
getNextKnuthElements
in classAbstractBreaker
- Parameters:
context
- the LayoutContext used to store layout informationalignment
- the desired text alignment- Returns:
- the list of KnuthElements
-
getCurrentDisplayAlign
protected int getCurrentDisplayAlign()- Specified by:
getCurrentDisplayAlign
in classAbstractBreaker
- Returns:
- current display alignment
-
hasMoreContent
protected boolean hasMoreContent()- Specified by:
hasMoreContent
in classAbstractBreaker
- Returns:
- true if content not exhausted
-
addAreas
Description copied from class:AbstractBreaker
Tell the layout manager to add all the child areas implied by Position objects which will be returned by the Iterator.- Specified by:
addAreas
in classAbstractBreaker
- Parameters:
posIter
- the position iteratorcontext
- the context
-
doPhase3
protected void doPhase3(PageBreakingAlgorithm alg, int partCount, AbstractBreaker.BlockSequence originalList, AbstractBreaker.BlockSequence effectiveList) Description copied from class:AbstractBreaker
Phase 3 of Knuth algorithm: Adds the areas- Specified by:
doPhase3
in classAbstractBreaker
- Parameters:
alg
- PageBreakingAlgorithm instance which determined the breakspartCount
- number of parts (pages) to be renderedoriginalList
- original Knuth element listeffectiveList
- effective Knuth element list (after adjustments)
-
finishPart
Description copied from class:AbstractBreaker
Finish part.- Specified by:
finishPart
in classAbstractBreaker
- Parameters:
alg
- a page breaking algorithmpbp
- a page break posittion
-
getCurrentChildLM
- Specified by:
getCurrentChildLM
in classAbstractBreaker
- Returns:
- current child layout manager
-
addContainedAreas
-