Class LayoutContext

  • All Implemented Interfaces:
    CssContext

    public class LayoutContext
    extends java.lang.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 in SharedContext.
    • Field Detail

      • _rootLayer

        private Layer _rootLayer
      • _currentMarkerData

        private MarkerData _currentMarkerData
      • _layers

        private java.util.LinkedList<Layer> _layers
      • _extraSpaceTop

        private int _extraSpaceTop
      • _extraSpaceBottom

        private int _extraSpaceBottom
      • _pendingPageName

        private java.lang.String _pendingPageName
      • _pageName

        private java.lang.String _pageName
      • _noPageBreak

        private int _noPageBreak
      • _rootDocumentLayer

        private Layer _rootDocumentLayer
      • _mayCheckKeepTogether

        private boolean _mayCheckKeepTogether
      • _lineBreakedBecauseOfNoWrap

        private boolean _lineBreakedBecauseOfNoWrap
      • isPrintOverride

        private java.lang.Boolean isPrintOverride
      • _isInFloatBottom

        private boolean _isInFloatBottom
      • _savedLayoutState

        private LayoutState _savedLayoutState
      • _footnoteIndex

        private int _footnoteIndex
      • _isFootnoteAllowed

        private boolean _isFootnoteAllowed
      • _defaultTextDirection

        private byte _defaultTextDirection
    • Constructor Detail

    • Method Detail

      • getCanvas

        public FSCanvas getCanvas()
      • getFixedRectangle

        public java.awt.Rectangle getFixedRectangle()
      • 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)
      • 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)
      • 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)
      • addBoxId

        public void addBoxId​(java.lang.String id,
                             Box box)
      • removeBoxId

        public void removeBoxId​(java.lang.String id)
      • isInteractive

        public boolean isInteractive()
      • isPrint

        public boolean isPrint()
      • setIsPrintOverride

        public void setIsPrintOverride​(java.lang.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)
      • setFontContext

        public void setFontContext​(FontContext fontContext)
      • 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,
                                    java.lang.Integer startIndex)
      • getPageName

        public java.lang.String getPageName()
      • setPageName

        public void setPageName​(java.lang.String currentPageName)
      • getNoPageBreak

        public int getNoPageBreak()
      • setNoPageBreak

        public void setNoPageBreak​(int noPageBreak)
      • isPageBreaksAllowed

        public boolean isPageBreaksAllowed()
      • getPendingPageName

        public java.lang.String getPendingPageName()
      • setPendingPageName

        public void setPendingPageName​(java.lang.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)
      • isLineBreakedBecauseOfNoWrap

        public boolean isLineBreakedBecauseOfNoWrap()
      • setLineBreakedBecauseOfNoWrap

        public void setLineBreakedBecauseOfNoWrap​(boolean value)
      • 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)
      • 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:
        isInFloatBottom in interface CssContext
      • 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)