Class InlineParent

All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
AbstractTextArea, BasicLinkArea, FilledArea, InlineBlock

public class InlineParent extends InlineArea
Inline parent area. This is an inline area that can have other inlines as children.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • inlines

      protected List<InlineArea> inlines
      The list of inline areas added to this inline parent.
    • autoSize

      protected transient boolean autoSize
      Controls whether the IPD is automatically adjusted based on the area's children.
    • minChildOffset

      protected int minChildOffset
      The offset of the beforest child area of this area.
    • maxAfterEdge

      private int maxAfterEdge
      The offset of the afterest child area of this area. Offset from the before-edge of this area's content-rectangle and the after-edge of the child area's allocation-rectangle.
  • Constructor Details

    • InlineParent

      public InlineParent()
  • Method Details

    • readObject

      private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException
      Throws:
      ClassNotFoundException
      IOException
    • addChildArea

      public void addChildArea(Area c)
      Description copied from class: InlineArea
      Set the parent for the child area. Add a child to this area. The default is to do nothing. Subclasses must override to do something if they can have child areas.
      Overrides:
      addChildArea in class InlineArea
      Parameters:
      c - the child area to add
    • getVirtualOffset

      int getVirtualOffset()
      Description copied from class: InlineArea
      Returns the offset that this area would have if its offset and size were taking children areas into account. The bpd of an inline area is taken from its nominal font and doesn't depend on the bpds of its children elements. However, in the case of a basic-link element we want the active area to cover all of the children elements.
      Overrides:
      getVirtualOffset in class InlineArea
      Returns:
      the offset that this area would have if the before-edge of its content-rectangle were coinciding with the beforest before-edge of its children allocation-rectangles.
      See Also:
    • getVirtualBPD

      int getVirtualBPD()
      Description copied from class: InlineArea
      Returns the block-progression-dimension that this area would have if it were taking its children elements into account. See InlineArea.getVirtualOffset().
      Overrides:
      getVirtualBPD in class InlineArea
      Returns:
      the bpd
    • getChildAreas

      public List<InlineArea> getChildAreas()
      Get the child areas for this inline parent.
      Returns:
      the list of child areas
    • applyVariationFactor

      public boolean applyVariationFactor(double variationFactor, int lineStretch, int lineShrink)
      recursively apply the variation factor to all descendant areas
      Overrides:
      applyVariationFactor in class InlineArea
      Parameters:
      variationFactor - the variation factor that must be applied to adjustments
      lineStretch - the total stretch of the line
      lineShrink - the total shrink of the line
      Returns:
      true if there is an UnresolvedArea descendant
    • collectInlineRuns

      public List collectInlineRuns(List runs)
      Description copied from class: InlineArea
      Collection bidi inline runs.
      Overrides:
      collectInlineRuns in class InlineArea
      Parameters:
      runs - current list of inline runs
      Returns:
      modified list of inline runs, having appended new run
    • resetChildrenLevel

      public void resetChildrenLevel()
      Reset bidirectionality level of all children to default (-1), signalling that they will inherit the level of their parent text area.
    • updateLevel

      private void updateLevel(int newLevel)