Class AbstractBaseLayoutManager

    • Field Detail

      • generatesReferenceArea

        protected boolean generatesReferenceArea
        Indicator if this LM generates reference areas.
      • generatesBlockArea

        protected boolean generatesBlockArea
        Indicator if this LM generates block areas.
      • fobj

        protected final FObj fobj
        The formatting object for this LM.
    • Constructor Detail

      • AbstractBaseLayoutManager

        public AbstractBaseLayoutManager()
        Abstract base layout manager.
      • AbstractBaseLayoutManager

        public AbstractBaseLayoutManager​(FObj fo)
        Abstract base layout manager.
        Parameters:
        fo - the formatting object for this layout manager
    • Method Detail

      • getBaseLength

        public int getBaseLength​(int lengthBase,
                                 FObj fobjx)
        Returns the base length for the given length base. Length base should be one of the constants defined in LengthBase.
        Specified by:
        getBaseLength in interface PercentBaseContext
        Parameters:
        lengthBase - Indicates which type of the base length value is to be returned
        fobjx - The FO object against which the percentage should be evaluated
        Returns:
        The base length value of the given kind
      • getAncestorBlockAreaIPD

        protected int getAncestorBlockAreaIPD()
        Find the first ancestor area that is a block area and returns its IPD.
        Returns:
        the ipd of the ancestor block area
      • getAncestorBlockAreaBPD

        protected int getAncestorBlockAreaBPD()
        Find the first ancestor area that is a block area and returns its BPD.
        Returns:
        the bpd of the ancestor block area
      • getParentAreaIPD

        protected int getParentAreaIPD()
        Find the parent area and returns its IPD.
        Returns:
        the ipd of the parent area
      • getParentAreaBPD

        protected int getParentAreaBPD()
        Find the parent area and returns its BPD.
        Returns:
        the bpd of the parent area
      • getReferenceAreaIPD

        public int getReferenceAreaIPD()
        Find the first ancestor area that is a reference area and returns its IPD.
        Returns:
        the ipd of the ancestor reference area
      • getReferenceAreaBPD

        protected int getReferenceAreaBPD()
        Find the first ancestor area that is a reference area and returns its BPD.
        Returns:
        the bpd of the ancestor reference area
      • getContentAreaIPD

        public int getContentAreaIPD()
        Returns the IPD of the content area NOTE: Should be overridden by subclasses. Default implementation throws an UnsupportedOperationException.
        Specified by:
        getContentAreaIPD in interface LayoutManager
        Returns:
        the IPD of the content area
      • getContentAreaBPD

        public int getContentAreaBPD()
        Returns the BPD of the content area NOTE: Should be overridden by subclasses. Default implementation throws an UnsupportedOperationException.
        Specified by:
        getContentAreaBPD in interface LayoutManager
        Returns:
        the BPD of the content area
      • getGeneratesReferenceArea

        public boolean getGeneratesReferenceArea()
        Returns an indication if the layout manager generates a reference area.
        Specified by:
        getGeneratesReferenceArea in interface LayoutManager
        Returns:
        True if the layout manager generates a reference area
      • setGeneratesReferenceArea

        protected void setGeneratesReferenceArea​(boolean generatesReferenceArea)
        Lets implementing LM set the flag indicating if they generate reference areas.
        Parameters:
        generatesReferenceArea - if true the areas generates by this LM are reference areas.
      • getGeneratesBlockArea

        public boolean getGeneratesBlockArea()
        Returns an indication if the layout manager generates a block area.
        Specified by:
        getGeneratesBlockArea in interface LayoutManager
        Returns:
        True if the layout manager generates a block area
      • setGeneratesBlockArea

        protected void setGeneratesBlockArea​(boolean generatesBlockArea)
        Lets implementing LM set the flag indicating if they generate block areas.
        Parameters:
        generatesBlockArea - if true the areas generates by this LM are block areas.
      • getGeneratesLineArea

        public boolean getGeneratesLineArea()
        Returns an indication if the layout manager generates a line area.
        Specified by:
        getGeneratesLineArea in interface LayoutManager
        Returns:
        True if the layout manager generates a line area
      • getFObj

        public FObj getFObj()
        Returns the fo this layout manager is associated with.
        Specified by:
        getFObj in interface LayoutManager
        Returns:
        The fo for this layout manager or null.
      • getChangeBarList

        public java.util.List<ChangeBar> getChangeBarList()
        Returns the active change bar list.
        Returns:
        The active change bar list
      • reset

        public void reset()
        Re-initializes this layout manager in order to re-generate its Knuth elements according to a new IPD value.
        Specified by:
        reset in interface LayoutManager
      • isRestartable

        public boolean isRestartable()
        Returns true if this layout manager is able to re-generate its Knuth elements after an IPD change.
        Specified by:
        isRestartable in interface LayoutManager
        Returns:
        true if this layout manager can be restarted after an IPD change
      • getNextKnuthElements

        public java.util.List getNextKnuthElements​(LayoutContext context,
                                                   int alignment,
                                                   java.util.Stack lmStack,
                                                   Position positionAtIPDChange,
                                                   LayoutManager restartAtLM)
        Returns an updated list of Knuth elements corresponding to this layout manager, after a change of IPD has been detected.
        Specified by:
        getNextKnuthElements in interface LayoutManager
        Parameters:
        context - the layout context
        alignment - the alignment
        lmStack - the stack of LMs that are active at the IPD change
        positionAtIPDChange - the position corresponding to the element finishing the page before the IPD change
        restartAtLM - if not null, the layout manager from which to restart. That is, the IPD change occurs between two block elements and not inside a paragraph
        Returns:
        an updated list of elements, taking the new IPD into account
      • preserveChildrenAtEndOfLayout

        public void preserveChildrenAtEndOfLayout()
      • recreateChildrenLMs

        public void recreateChildrenLMs()