Class LayoutContext

java.lang.Object
org.apache.fop.layoutmgr.LayoutContext

public final class LayoutContext extends Object
This class is used to pass information to the getNextKnuthElements() method. It is set up by higher level LM and used by lower level LM.
  • Field Details

    • NEW_AREA

      public static final int NEW_AREA
      Generated break possibility is first in a new area
      See Also:
    • SUPPRESS_BREAK_BEFORE

      public static final int SUPPRESS_BREAK_BEFORE
      If this flag is set, it indicates that any break-before values other than "auto" should not cause a mandatory break as this break was already handled by a parent layout manager.
      See Also:
    • FIRST_AREA

      public static final int FIRST_AREA
      See Also:
    • LAST_AREA

      public static final int LAST_AREA
      See Also:
    • RESOLVE_LEADING_SPACE

      public static final int RESOLVE_LEADING_SPACE
      See Also:
  • Method Details

    • newInstance

      public static LayoutContext newInstance()
    • copyOf

      public static LayoutContext copyOf(LayoutContext copy)
    • offspringOf

      public static LayoutContext offspringOf(LayoutContext parent)
      Returns a descendant of the given layout context. The new context is the same as what would have been created by newInstance(), except for inheritable properties that are passed on by the parent. At the moment, the only inheritable property is the value returned by treatAsArtifact().
    • copyPendingMarksFrom

      public void copyPendingMarksFrom(LayoutContext source)
      Parameters:
      source - from which pending marks are copied
    • setFlags

      public void setFlags(int flags)
      Parameters:
      flags - to set
    • setFlags

      public void setFlags(int flags, boolean bSet)
      Parameters:
      flags - to set or clear
      bSet - true to set, false to clear
    • unsetFlags

      public void unsetFlags(int flags)
      Parameters:
      flags - to clear
    • isStart

      public boolean isStart()
      Returns:
      true if new area is set
    • startsNewArea

      public boolean startsNewArea()
      Returns:
      true if new area is set and leading space is non-null
    • isFirstArea

      public boolean isFirstArea()
      Returns:
      true if first area is set
    • isLastArea

      public boolean isLastArea()
      Returns:
      true if last area is set
    • suppressBreakBefore

      public boolean suppressBreakBefore()
      Returns:
      true if suppress break before is set
    • getKeepWithNextPending

      public Keep getKeepWithNextPending()
      Returns the strength of a keep-with-next currently pending.
      Returns:
      the keep-with-next strength
    • getKeepWithPreviousPending

      public Keep getKeepWithPreviousPending()
      Returns the strength of a keep-with-previous currently pending.
      Returns:
      the keep-with-previous strength
    • clearKeepWithNextPending

      public void clearKeepWithNextPending()
      Clears any pending keep-with-next strength.
    • clearKeepWithPreviousPending

      public void clearKeepWithPreviousPending()
      Clears any pending keep-with-previous strength.
    • clearKeepsPending

      public void clearKeepsPending()
      Clears both keep-with-previous and keep-with-next strengths.
    • updateKeepWithNextPending

      public void updateKeepWithNextPending(Keep keep)
      Updates the currently pending keep-with-next strength.
      Parameters:
      keep - the new strength to consider
    • updateKeepWithPreviousPending

      public void updateKeepWithPreviousPending(Keep keep)
      Updates the currently pending keep-with-previous strength.
      Parameters:
      keep - the new strength to consider
    • isKeepWithNextPending

      public boolean isKeepWithNextPending()
      Indicates whether a keep-with-next constraint is pending.
      Returns:
      true if a keep-with-next constraint is pending
    • isKeepWithPreviousPending

      public boolean isKeepWithPreviousPending()
      Indicates whether a keep-with-previous constraint is pending.
      Returns:
      true if a keep-with-previous constraint is pending
    • setLeadingSpace

      public void setLeadingSpace(SpaceSpecifier space)
      Parameters:
      space - leading space
    • getLeadingSpace

      public SpaceSpecifier getLeadingSpace()
      Returns:
      leading space
    • resolveLeadingSpace

      public boolean resolveLeadingSpace()
      Returns:
      true if resolve leading space is set
    • setTrailingSpace

      public void setTrailingSpace(SpaceSpecifier space)
      Parameters:
      space - trailing space
    • getTrailingSpace

      public SpaceSpecifier getTrailingSpace()
      Returns:
      trailing space
    • addPendingAfterMark

      public void addPendingAfterMark(UnresolvedListElementWithLength element)
      Adds a border or padding element to the pending list which will be used to generate the right element list for break possibilities. Conditionality resolution will be done elsewhere.
      Parameters:
      element - the border, padding or space element
    • getPendingAfterMarks

      public List getPendingAfterMarks()
      Returns:
      the pending border and padding elements at the after edge
      See Also:
    • clearPendingMarks

      public void clearPendingMarks()
      Clears all pending marks on the LayoutContext.
    • addPendingBeforeMark

      public void addPendingBeforeMark(UnresolvedListElementWithLength element)
      Adds a border or padding element to the pending list which will be used to generate the right element list for break possibilities. Conditionality resolution will be done elsewhere.
      Parameters:
      element - the border, padding or space element
    • getPendingBeforeMarks

      public List getPendingBeforeMarks()
      Returns:
      the pending border and padding elements at the before edge
      See Also:
    • setStackLimitBP

      public void setStackLimitBP(MinOptMax limit)
      Sets the stack limit in block-progression-dimension.
      Parameters:
      limit - the stack limit
    • getStackLimitBP

      public MinOptMax getStackLimitBP()
      Returns the stack limit in block-progression-dimension.
      Returns:
      the stack limit
    • setRefIPD

      public void setRefIPD(int ipd)
      Sets the inline-progression-dimension of the nearest ancestor reference area.
      Parameters:
      ipd - of nearest ancestor reference area
    • getRefIPD

      public int getRefIPD()
      Returns the inline-progression-dimension of the nearest ancestor reference area.
      Returns:
      the inline-progression-dimension of the nearest ancestor reference area
    • setHyphContext

      public void setHyphContext(HyphContext hyph)
      Parameters:
      hyph - a hyphenation context
    • getHyphContext

      public HyphContext getHyphContext()
      Returns:
      hyphenation context
    • setBPAlignment

      public void setBPAlignment(int alignment)
      Sets the currently applicable alignment in BP direction.
      Parameters:
      alignment - one of EN_START, EN_JUSTIFY etc.
    • getBPAlignment

      public int getBPAlignment()
      Returns:
      the currently applicable alignment in BP direction (EN_START, EN_JUSTIFY...)
    • setSpaceAdjust

      public void setSpaceAdjust(double adjust)
      Parameters:
      adjust - space adjustment
    • getSpaceAdjust

      public double getSpaceAdjust()
      Returns:
      space adjustment
    • setIPDAdjust

      public void setIPDAdjust(double ipdA)
      Parameters:
      ipdA - ipd adjustment
    • getIPDAdjust

      public double getIPDAdjust()
      Returns:
      ipd adjustment
    • setAlignmentContext

      public void setAlignmentContext(AlignmentContext alignmentContext)
      Parameters:
      alignmentContext - alignment context
    • getAlignmentContext

      public AlignmentContext getAlignmentContext()
      Returns:
      alignment context
    • resetAlignmentContext

      public void resetAlignmentContext()
      Reset alignment context.
    • getLineStartBorderAndPaddingWidth

      public int getLineStartBorderAndPaddingWidth()
      Get the width to be reserved for border and padding at the start of the line.
      Returns:
      the width to be reserved
    • setLineStartBorderAndPaddingWidth

      public void setLineStartBorderAndPaddingWidth(int lineStartBorderAndPaddingWidth)
      Set the width to be reserved for border and padding at the start of the line.
      Parameters:
      lineStartBorderAndPaddingWidth - the width to be reserved
    • getLineEndBorderAndPaddingWidth

      public int getLineEndBorderAndPaddingWidth()
      Get the width to be reserved for border and padding at the end of the line.
      Returns:
      the width to be reserved
    • setLineEndBorderAndPaddingWidth

      public void setLineEndBorderAndPaddingWidth(int lineEndBorderAndPaddingWidth)
      Set the width to be reserved for border and padding at the end of the line.
      Parameters:
      lineEndBorderAndPaddingWidth - the width to be reserved
    • getNextSpan

      public int getNextSpan()
      Returns:
      one of: Constants.NOT_SET, Constants.EN_NONE Constants.EN_ALL
    • getCurrentSpan

      public int getCurrentSpan()
      Returns:
      one of: Constants.NOT_SET, Constants.EN_NONE Constants.EN_ALL
    • signalSpanChange

      public void signalSpanChange(int span)
      Used to signal the PSLM that the element list ends early because of a span change in multi-column layout.
      Parameters:
      span - the new span value (legal values: NOT_SET, EN_NONE, EN_ALL)
    • getWritingMode

      public WritingMode getWritingMode()
      Get the writing mode of the relevant reference area.
      Returns:
      the applicable writing mode
    • setWritingMode

      public void setWritingMode(WritingMode writingMode)
      Set the writing mode.
      Parameters:
      writingMode - the writing mode
    • getSpaceBefore

      public int getSpaceBefore()
      Get the current amount of space before / start
      Returns:
      the space before / start amount
    • setSpaceBefore

      public void setSpaceBefore(int spaceBefore)
      Set the amount of space before / start
      Parameters:
      spaceBefore - the amount of space before / start
    • getSpaceAfter

      public int getSpaceAfter()
      Get the current amount of space after / end
      Returns:
      the space after / end amount
    • setSpaceAfter

      public void setSpaceAfter(int spaceAfter)
      Set the amount of space after / end
      Parameters:
      spaceAfter - the amount of space after / end
    • getBreakBefore

      public int getBreakBefore()
      Returns the value of the break before the element whose LayoutManager.getNextKnuthElements(LayoutContext, int) method has just been called.
      Returns:
      one of Constants.EN_AUTO, Constants.EN_COLUMN, Constants.EN_PAGE, Constants.EN_EVEN_PAGE, or Constants.EN_ODD_PAGE
    • setBreakBefore

      public void setBreakBefore(int breakBefore)
      Sets the value of the break before the current element.
      Parameters:
      breakBefore - the value of the break-before
      See Also:
    • getBreakAfter

      public int getBreakAfter()
      Returns the value of the break after the element whose LayoutManager.getNextKnuthElements(LayoutContext, int) method has just been called.
      Returns:
      one of Constants.EN_AUTO, Constants.EN_COLUMN, Constants.EN_PAGE, Constants.EN_EVEN_PAGE, or Constants.EN_ODD_PAGE
    • setBreakAfter

      public void setBreakAfter(int breakAfter)
      Sets the value of the break after the current element.
      Parameters:
      breakAfter - the value of the break-after
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getDisableColumnBalancing

      public int getDisableColumnBalancing()
      Returns whether the column balancer should be disabled before a spanning block
      Returns:
      one of Constants.EN_TRUE, Constants.EN_FALSE
    • setDisableColumnBalancing

      public void setDisableColumnBalancing(int disableColumnBalancing)
      Sets whether the column balancer should be disabled before a spanning block
      Parameters:
      disableColumnBalancing - the value of the fox:disable-column-balancing property
      See Also:
    • treatAsArtifact

      public boolean treatAsArtifact()
    • setTreatAsArtifact

      public void setTreatAsArtifact(boolean treatAsArtifact)