Package com.openhtmltopdf.layout
Class LayoutContext
- java.lang.Object
-
- com.openhtmltopdf.layout.LayoutContext
-
- All Implemented Interfaces:
CssContext
public class LayoutContext extends Object implements CssContext
This class tracks state which changes over the course of a layout run. Generally speaking, if possible, state information should be stored in the box tree and not here. It also provides pass-though calls to many methods inSharedContext.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLayoutContext.BlockBoxingState
-
Field Summary
Fields Modifier and Type Field Description Map<CalculatedStyle,CounterContext>_counterContextMap
-
Method Summary
-
-
-
Field Detail
-
_counterContextMap
public final Map<CalculatedStyle,CounterContext> _counterContextMap
-
-
Method Detail
-
getTextRenderer
public TextRenderer getTextRenderer()
- Specified by:
getTextRendererin interfaceCssContext
-
getCss
public StyleReference getCss()
- Specified by:
getCssin interfaceCssContext
-
getCanvas
public FSCanvas getCanvas()
-
getFixedRectangle
public Rectangle getFixedRectangle()
-
getNamespaceHandler
public NamespaceHandler getNamespaceHandler()
-
getParagraphSplitter
public ParagraphSplitter getParagraphSplitter()
The paragraph splitter splits the document into paragraphs for the purpose of bi-directional text analysis.
-
setBidiReorderer
public void setBidiReorderer(BidiReorderer reorderer)
-
getBidiReorderer
public BidiReorderer getBidiReorderer()
-
getBidiSplitterFactory
public BidiSplitterFactory getBidiSplitterFactory()
The bidi splitter is used to split text runs into LTR and RTL visual ordering.
-
setBidiSplitterFactory
public void setBidiSplitterFactory(BidiSplitterFactory factory)
The bidi splitter is used to split text runs into LTR and RTL visual ordering.
-
getDefaultTextDirection
public byte getDefaultTextDirection()
- Returns:
- the default text direction for a document.
-
setDefaultTextDirection
public void setDefaultTextDirection(byte direction)
- Parameters:
direction- either BidiSplitter.LTR or BidiSplitter.RTL.
-
reInit
public void reInit(boolean keepLayers)
-
captureLayoutState
public LayoutState captureLayoutState()
-
restoreLayoutState
public void restoreLayoutState(LayoutState layoutState)
-
copyStateForRelayout
public LayoutState copyStateForRelayout()
-
restoreStateForRelayout
public void restoreStateForRelayout(LayoutState layoutState)
-
getBlockFormattingContext
public BlockFormattingContext getBlockFormattingContext()
-
pushBFC
public void pushBFC(BlockFormattingContext bfc)
-
popBFC
public void popBFC()
-
pushLayerIsolated
public void pushLayerIsolated(Box master)
-
pushLayer
public void pushLayer(Box master)
-
pushLayer
public void pushLayer(Layer layer)
-
popLayer
public void popLayer()
-
getLayer
public Layer getLayer()
-
getRootLayer
public Layer getRootLayer()
-
translate
public void translate(int x, int y)
-
removeBoxId
public void removeBoxId(String id)
-
isInteractive
public boolean isInteractive()
-
getMmPerDot
public float getMmPerDot()
- Specified by:
getMmPerDotin interfaceCssContext
-
getDotsPerPixel
public int getDotsPerPixel()
- Specified by:
getDotsPerPixelin interfaceCssContext
-
getFontSize2D
public float getFontSize2D(FontSpecification font)
- Specified by:
getFontSize2Din interfaceCssContext
-
getXHeight
public float getXHeight(FontSpecification parentFont)
- Specified by:
getXHeightin interfaceCssContext
-
getFont
public FSFont getFont(FontSpecification font)
- Specified by:
getFontin interfaceCssContext
-
getUac
public UserAgentCallback getUac()
-
isPrint
public boolean isPrint()
-
setIsPrintOverride
public void setIsPrintOverride(Boolean isPrint)
- Parameters:
isPrint- true, false or null for no override.
-
getFirstLinesTracker
public StyleTracker getFirstLinesTracker()
-
getFirstLettersTracker
public StyleTracker getFirstLettersTracker()
-
getCurrentMarkerData
public MarkerData getCurrentMarkerData()
-
setCurrentMarkerData
public void setCurrentMarkerData(MarkerData currentMarkerData)
-
getReplacedElementFactory
public ReplacedElementFactory getReplacedElementFactory()
-
getFontContext
public FontContext getFontContext()
- Specified by:
getFontContextin interfaceCssContext
-
setFontContext
public void setFontContext(FontContext fontContext)
-
getContentFunctionFactory
public ContentFunctionFactory getContentFunctionFactory()
-
getSharedContext
public SharedContext getSharedContext()
-
getExtraSpaceBottom
public int getExtraSpaceBottom()
Returns the extra space set aside for the footers of paginated tables.
-
setExtraSpaceBottom
public void setExtraSpaceBottom(int extraSpaceBottom)
-
getExtraSpaceTop
public int getExtraSpaceTop()
Returns the extra space set aside for the head section of paginated tables.
-
setExtraSpaceTop
public void setExtraSpaceTop(int extraSpaceTop)
-
resolveCounters
public void resolveCounters(CalculatedStyle style, Integer startIndex)
-
resolveCounters
public void resolveCounters(CalculatedStyle style)
-
getCounterContext
public AbstractCounterContext getCounterContext(CalculatedStyle style)
-
getFSFontMetrics
public FSFontMetrics getFSFontMetrics(FSFont font)
- Specified by:
getFSFontMetricsin interfaceCssContext
-
getPageName
public String getPageName()
-
setPageName
public void setPageName(String currentPageName)
-
getNoPageBreak
public int getNoPageBreak()
-
setNoPageBreak
public void setNoPageBreak(int noPageBreak)
-
isPageBreaksAllowed
public boolean isPageBreaksAllowed()
-
getPendingPageName
public String getPendingPageName()
-
setPendingPageName
public void setPendingPageName(String pendingPageName)
-
getRootDocumentLayer
public Layer getRootDocumentLayer()
-
setRootDocumentLayer
public void setRootDocumentLayer(Layer rootDocumentLayer)
-
getPage
public PageBox getPage()
-
setPage
public void setPage(PageBox page)
-
isMayCheckKeepTogether
public boolean isMayCheckKeepTogether()
-
setMayCheckKeepTogether
public void setMayCheckKeepTogether(boolean mayKeepTogether)
-
setBlockBoxingState
public void setBlockBoxingState(LayoutContext.BlockBoxingState state)
-
getBlockBoxingState
public LayoutContext.BlockBoxingState getBlockBoxingState()
-
isLineBreakedBecauseOfNoWrap
public boolean isLineBreakedBecauseOfNoWrap()
-
setLineBreakedBecauseOfNoWrap
public void setLineBreakedBecauseOfNoWrap(boolean value)
-
getBreakAtLineContext
public BreakAtLineContext getBreakAtLineContext()
-
setBreakAtLineContext
public void setBreakAtLineContext(BreakAtLineContext breakAtLineContext)
-
isFootnoteAllowed
public boolean isFootnoteAllowed()
Whether further footnote content is allowed. Used to prohibit footnotes inside footnotes.
-
setFootnoteAllowed
public void setFootnoteAllowed(boolean allowed)
SeeisFootnoteAllowed().
-
setIsInFloatBottom
public void setIsInFloatBottom(boolean inFloatBottom)
-
isInFloatBottom
public boolean isInFloatBottom()
Returns true if we are laying out the footnote area rather than general content.- Specified by:
isInFloatBottomin interfaceCssContext
-
setFootnoteIndex
public void setFootnoteIndex(int footnoteIndex)
-
getFootnoteIndex
public int getFootnoteIndex()
The zero-based footnote index, which will likely be different from any counter used with the footnote.
-
hasActiveFootnotes
public boolean hasActiveFootnotes()
-
getFootnoteManager
public FootnoteManager getFootnoteManager()
Gets the document's footnote manager, creating it if required. From the footnote manager, one can add and remove footnote bodies.
-
setFirstLettersTracker
public void setFirstLettersTracker(StyleTracker firstLetters)
-
setFirstLinesTracker
public void setFirstLinesTracker(StyleTracker firstLines)
-
-