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
private class BlockContainerLayoutManager.BlockContainerBreaker extends AbstractBreaker
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.fop.layoutmgr.AbstractBreaker
AbstractBreaker.BlockSequence, AbstractBreaker.FloatPosition, AbstractBreaker.PageBreakPosition, AbstractBreaker.PagePositionOnlyException
-
-
Field Summary
Fields Modifier and Type Field Description private BlockContainerLayoutManagerbclmprivate PageBreakingAlgorithmdeferredAlgprivate AbstractBreaker.BlockSequencedeferredEffectiveListprivate AbstractBreaker.BlockSequencedeferredOriginalListprivate MinOptMaxipd-
Fields inherited from class org.apache.fop.layoutmgr.AbstractBreaker
alignment, blockListIndex, blockLists, firstElementsForRestart, footnoteSeparatorLength, log, originalRestartAtLM, positionAtBreak, pslm
-
-
Constructor Summary
Constructors Constructor Description BlockContainerBreaker(BlockContainerLayoutManager bclm, MinOptMax ipd)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddAreas(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.voidaddContainedAreas(LayoutContext layoutContext)protected LayoutContextcreateLayoutContext()Creates the top-level LayoutContext for the breaker operation.protected voiddoPhase3(PageBreakingAlgorithm alg, int partCount, AbstractBreaker.BlockSequence originalList, AbstractBreaker.BlockSequence effectiveList)Phase 3 of Knuth algorithm: Adds the areasprotected voidfinishPart(PageBreakingAlgorithm alg, AbstractBreaker.PageBreakPosition pbp)Finish part.protected LayoutManagergetCurrentChildLM()protected intgetCurrentDisplayAlign()intgetDifferenceOfFirstPart()protected java.util.List<ListElement>getNextKnuthElements(LayoutContext context, int alignment)Get a sequence of KnuthElements representing the content of the node assigned to the LMintgetOverflowAmount()protected LayoutManagergetTopLevelLM()protected booleanhasMoreContent()booleanisOverflow()protected booleanisPartOverflowRecoveryActivated()Controls the behaviour of the algorithm in cases where the first element of a part overflows a line/page.protected booleanisSinglePartFavored()protected voidobserveElementList(java.util.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 Detail
-
bclm
private BlockContainerLayoutManager bclm
-
ipd
private MinOptMax ipd
-
deferredAlg
private PageBreakingAlgorithm deferredAlg
-
deferredOriginalList
private AbstractBreaker.BlockSequence deferredOriginalList
-
deferredEffectiveList
private AbstractBreaker.BlockSequence deferredEffectiveList
-
-
Constructor Detail
-
BlockContainerBreaker
public BlockContainerBreaker(BlockContainerLayoutManager bclm, MinOptMax ipd)
-
-
Method Detail
-
observeElementList
protected void observeElementList(java.util.List elementList)
Used for debugging purposes. Notifies all registered observers about the element list. Override to set different parameters.- Overrides:
observeElementListin 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:
isPartOverflowRecoveryActivatedin classAbstractBreaker- Returns:
- true if the algorithm should try to send the element to the next line/page.
-
isSinglePartFavored
protected boolean isSinglePartFavored()
- Overrides:
isSinglePartFavoredin 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
protected LayoutManager getTopLevelLM()
- Specified by:
getTopLevelLMin classAbstractBreaker- Returns:
- top level layout manager
-
createLayoutContext
protected LayoutContext createLayoutContext()
Description copied from class:AbstractBreakerCreates the top-level LayoutContext for the breaker operation.- Overrides:
createLayoutContextin classAbstractBreaker- Returns:
- the top-level LayoutContext
-
getNextKnuthElements
protected java.util.List<ListElement> getNextKnuthElements(LayoutContext context, int alignment)
Description copied from class:AbstractBreakerGet a sequence of KnuthElements representing the content of the node assigned to the LM- Specified by:
getNextKnuthElementsin 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:
getCurrentDisplayAlignin classAbstractBreaker- Returns:
- current display alignment
-
hasMoreContent
protected boolean hasMoreContent()
- Specified by:
hasMoreContentin classAbstractBreaker- Returns:
- true if content not exhausted
-
addAreas
protected void addAreas(PositionIterator posIter, LayoutContext context)
Description copied from class:AbstractBreakerTell the layout manager to add all the child areas implied by Position objects which will be returned by the Iterator.- Specified by:
addAreasin 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:AbstractBreakerPhase 3 of Knuth algorithm: Adds the areas- Specified by:
doPhase3in 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
protected void finishPart(PageBreakingAlgorithm alg, AbstractBreaker.PageBreakPosition pbp)
Description copied from class:AbstractBreakerFinish part.- Specified by:
finishPartin classAbstractBreaker- Parameters:
alg- a page breaking algorithmpbp- a page break posittion
-
getCurrentChildLM
protected LayoutManager getCurrentChildLM()
- Specified by:
getCurrentChildLMin classAbstractBreaker- Returns:
- current child layout manager
-
addContainedAreas
public void addContainedAreas(LayoutContext layoutContext)
-
-