Class Span

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class Span
    extends Area
    The span-reference-area. This is a block-area with 0 border and padding that is stacked within the main-reference-area This object holds one or more normal-flow-reference-area children based on the column-count trait in effect for this span. See fo:region-body definition in the XSL Rec for more information.
    See Also:
    Serialized Form
    • Constructor Detail

      • Span

        public Span​(int colCount,
                    int colGap,
                    int ipd)
        Create a span area with the number of columns for this span area.
        Parameters:
        colCount - the number of columns in the span
        colGap - the column gap between each column
        ipd - the total ipd of the span
    • Method Detail

      • getColumnCount

        public int getColumnCount()
        Get the column count for this span area.
        Returns:
        the number of columns defined for this span area
      • getColumnGap

        public int getColumnGap()
        Get the column gap for this span area.
        Returns:
        the column gap for this span area
      • getColumnWidth

        public int getColumnWidth()
        Get the width of a single column within this Span
        Returns:
        the width of a single column
      • getHeight

        public int getHeight()
        Get the height of this span area.
        Returns:
        the height of this span area
      • getNormalFlow

        public NormalFlow getNormalFlow​(int colRequested)
        Get the normal flow area for a particular column.
        Parameters:
        colRequested - the zero-based column number of the flow
        Returns:
        the flow area for the requested column
      • getCurrentFlow

        public NormalFlow getCurrentFlow()
        Get the NormalFlow area currently being processed
        Returns:
        the current NormalFlow
      • getCurrentFlowIndex

        public int getCurrentFlowIndex()
        Returns:
        the index of the current normal flow
      • moveToNextFlow

        public NormalFlow moveToNextFlow()
        Indicate to the Span that the next column is being processed.
        Returns:
        the new NormalFlow (in the next column)
      • hasMoreFlows

        public boolean hasMoreFlows()
        Indicates if the Span has unprocessed flows.
        Returns:
        true if Span can increment to the next flow, false otherwise.
      • notifyFlowsFinished

        public void notifyFlowsFinished()
        Called to notify the span that all its flows have been fully generated so it can update its own BPD extent.
      • isEmpty

        public boolean isEmpty()
        Indicates whether any child areas have been added to this span area. This is achieved by looping through each flow.
        Returns:
        true if no child areas have been added yet.
      • setWritingModeTraits

        public void setWritingModeTraits​(WritingModeTraitsGetter wmtg)
        Sets the writing mode traits for the main reference area of this span area.
        Overrides:
        setWritingModeTraits in class Area
        Parameters:
        wmtg - a WM traits getter
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Area
        Returns:
        ipd and bpd of area