Package org.apache.fop.layoutmgr
Class LocalBreaker
- java.lang.Object
-
- org.apache.fop.layoutmgr.AbstractBreaker
-
- org.apache.fop.layoutmgr.LocalBreaker
-
public abstract class LocalBreaker extends AbstractBreaker
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.fop.layoutmgr.AbstractBreaker
AbstractBreaker.BlockSequence, AbstractBreaker.FloatPosition, AbstractBreaker.PageBreakPosition
-
-
Field Summary
Fields Modifier and Type Field Description protected BlockStackingLayoutManager
lm
-
Fields inherited from class org.apache.fop.layoutmgr.AbstractBreaker
alignment, blockListIndex, blockLists, footnoteSeparatorLength, log, pslm
-
-
Constructor Summary
Constructors Constructor Description LocalBreaker(BlockStackingLayoutManager lm, int ipd, int displayAlign)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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.protected LayoutContext
createLayoutContext()
Creates the top-level LayoutContext for the breaker operation.protected org.apache.fop.layoutmgr.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 areasprotected void
finishPart(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, AbstractBreaker.PageBreakPosition pbp)
Finish part.protected LayoutManager
getCurrentChildLM()
protected int
getCurrentDisplayAlign()
protected java.util.List
getNextKnuthElements(LayoutContext context, int alignment)
Get a sequence of KnuthElements representing the content of the node assigned to the LMint
getOverflowAmount()
protected LayoutManager
getTopLevelLM()
protected boolean
hasMoreContent()
boolean
isOverflow()
protected boolean
isPartOverflowRecoveryActivated()
Controls the behaviour of the algorithm in cases where the first element of a part overflows a line/page.void
setDescendantOfTableFooter(boolean isDescendantOfTableFooter)
void
setRepeatedFooter(boolean repeatedFooter)
void
setRepeatedHeader(boolean repeatedHeader)
-
Methods inherited from class org.apache.fop.layoutmgr.AbstractBreaker
addAreas, addAreas, addAreas, addAreasForFloats, doLayout, getNextBlockList, getNextBlockList, getNextKnuthElements, getPageProvider, handleEmptyContent, handleFloatLayout, handleSpanChange, isEmpty, isSinglePartFavored, lastPageHasIPDChange, observeElementList, prepareToRedoLayout, shouldRedoLayout, startPart, updateLayoutContext, wasLayoutRedone
-
-
-
-
Field Detail
-
lm
protected BlockStackingLayoutManager lm
-
-
Constructor Detail
-
LocalBreaker
public LocalBreaker(BlockStackingLayoutManager lm, int ipd, int displayAlign)
-
-
Method Detail
-
setRepeatedFooter
public void setRepeatedFooter(boolean repeatedFooter)
-
setDescendantOfTableFooter
public void setDescendantOfTableFooter(boolean isDescendantOfTableFooter)
-
setRepeatedHeader
public void setRepeatedHeader(boolean repeatedHeader)
-
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.
-
isOverflow
public boolean isOverflow()
-
getOverflowAmount
public int getOverflowAmount()
-
createLayoutListener
protected org.apache.fop.layoutmgr.PageBreakingAlgorithm.PageBreakingLayoutListener createLayoutListener()
Creates and returns a PageBreakingLayoutListener for the PageBreakingAlgorithm to notify about layout problems.- Overrides:
createLayoutListener
in classAbstractBreaker
- Returns:
- the listener instance or null if no notifications are needed
-
getTopLevelLM
protected LayoutManager getTopLevelLM()
- Specified by:
getTopLevelLM
in classAbstractBreaker
- Returns:
- top level layout manager
-
createLayoutContext
protected LayoutContext 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
protected java.util.List getNextKnuthElements(LayoutContext context, int alignment)
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
protected void addAreas(PositionIterator posIter, LayoutContext context)
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(org.apache.fop.layoutmgr.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
protected void finishPart(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, AbstractBreaker.PageBreakPosition pbp)
Description copied from class:AbstractBreaker
Finish part.- Specified by:
finishPart
in classAbstractBreaker
- Parameters:
alg
- a page breaking algorithmpbp
- a page break posittion
-
getCurrentChildLM
protected LayoutManager getCurrentChildLM()
- Specified by:
getCurrentChildLM
in classAbstractBreaker
- Returns:
- current child layout manager
-
-