Class InlineArea

All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
Anchor, InlineBlockParent, InlineParent, InlineViewport, Leader, Space, SpaceArea, WordArea

public class InlineArea extends Area
Inline Area This area is for all inline areas that can be placed in a line area.
See Also:
  • Field Details

    • blockProgressionOffset

      protected int blockProgressionOffset
      offset position from before edge of parent area
    • adjustingInfo

      protected InlineArea.InlineAdjustingInfo adjustingInfo
      The adjustment information object
  • Constructor Details

    • InlineArea

      public InlineArea()
      Default constructor for inline area.
    • InlineArea

      protected InlineArea(int blockProgressionOffset, int bidiLevel)
      Instantiate inline area.
      Parameters:
      blockProgressionOffset - a block progression offset or zero
      bidiLevel - a resolved bidi level or -1
  • Method Details

    • getAdjustingInfo

      public InlineArea.InlineAdjustingInfo getAdjustingInfo()
      Returns:
      the adjustment information object
    • setAdjustingInfo

      public void setAdjustingInfo(int stretch, int shrink, int adjustment)
      Create a new adjustment information object
      Parameters:
      stretch - the available space for stretching
      shrink - the available space for shrinking
      adjustment - space adjustment type
    • setAdjustingInfo

      public void setAdjustingInfo(InlineArea.InlineAdjustingInfo adjustingInfo)
      Sets the adjustment information from an existing object
      Parameters:
      adjustingInfo - the existing adjustment object
    • setAdjustment

      public void setAdjustment(int adjustment)
      Modify the adjustment value in the adjustment information object
      Parameters:
      adjustment - the new adjustment value
    • increaseIPD

      public void increaseIPD(int ipd)
      Increase the inline progression dimensions of this area. This is used for inline parent areas that contain mulitple child areas.
      Parameters:
      ipd - the inline progression to increase by
    • setBlockProgressionOffset

      public void setBlockProgressionOffset(int blockProgressionOffset)
      Set the block progression offset of this inline area. This is used to set the offset of the inline area which is relative to the before edge of the parent area.
      Parameters:
      blockProgressionOffset - the offset
    • getBlockProgressionOffset

      public int getBlockProgressionOffset()
      Get the block progression offset of this inline area. This returns the offset of the inline area relative to the before edge of the parent area.
      Returns:
      the blockProgressionOffset
    • setParentArea

      public void setParentArea(Area parentArea)
      Parameters:
      parentArea - The parentArea to set.
    • getParentArea

      public Area getParentArea()
      Returns:
      Returns the parentArea.
    • addChildArea

      public void addChildArea(Area childArea)
      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 Area
      Parameters:
      childArea - the child area to add
    • hasUnderline

      public boolean hasUnderline()
      Returns:
      true if the inline area is underlined.
    • hasOverline

      public boolean hasOverline()
      Returns:
      true if the inline area is overlined.
    • hasLineThrough

      public boolean hasLineThrough()
      Returns:
      true if the inline area has a line through.
    • isBlinking

      public boolean isBlinking()
      Returns:
      true if the inline area is blinking.
    • applyVariationFactor

      public boolean applyVariationFactor(double variationFactor, int lineStretch, int lineShrink)
      recursively apply the variation factor to all descendant areas
      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
    • handleIPDVariation

      public void handleIPDVariation(int ipdVariation)
      Apply IPD variation.
      Parameters:
      ipdVariation - the variation
    • notifyIPDVariation

      protected void notifyIPDVariation(int ipdVariation)
      notify the parent area about the ipd variation of this area or of a descendant area
      Parameters:
      ipdVariation - the difference between new and old ipd
    • collectInlineRuns

      public List collectInlineRuns(List runs)
      Collection bidi inline runs.
      Parameters:
      runs - current list of inline runs
      Returns:
      modified list of inline runs, having appended new run
    • isAncestorOrSelf

      public boolean isAncestorOrSelf(InlineArea ia)
      Determine if inline area IA is an ancestor inline area or same as this area.
      Parameters:
      ia - inline area to test
      Returns:
      true if specified inline area is an ancestor or same as this area
    • isAncestor

      public boolean isAncestor(InlineArea ia)
      Determine if inline area IA is an ancestor inline area of this area.
      Parameters:
      ia - inline area to test
      Returns:
      true if specified inline area is an ancestor of this area