Class Area

All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
BlockParent, Container, ForeignObject, Image, InlineArea, LineArea, MainReference, RegionReference, RegionViewport, Span

public class Area extends AreaTreeObject implements Serializable
Base object for all areas.
See Also:
  • Field Details

    • ORIENT_0

      public static final int ORIENT_0
      Normal orientation
      See Also:
    • ORIENT_90

      public static final int ORIENT_90
      Rotated 90 degrees clockwise
      See Also:
    • ORIENT_180

      public static final int ORIENT_180
      Rotate 180 degrees
      See Also:
    • ORIENT_270

      public static final int ORIENT_270
      Rotated 270 degrees clockwise
      See Also:
    • CLASS_NORMAL

      public static final int CLASS_NORMAL
      Normal class
      See Also:
    • CLASS_FIXED

      public static final int CLASS_FIXED
      Fixed position class
      See Also:
    • CLASS_ABSOLUTE

      public static final int CLASS_ABSOLUTE
      Absolute position class
      See Also:
    • CLASS_BEFORE_FLOAT

      public static final int CLASS_BEFORE_FLOAT
      Before float class
      See Also:
    • CLASS_FOOTNOTE

      public static final int CLASS_FOOTNOTE
      Footnote class
      See Also:
    • CLASS_SIDE_FLOAT

      public static final int CLASS_SIDE_FLOAT
      Side float class
      See Also:
    • CLASS_MAX

      public static final int CLASS_MAX
      Maximum class count
      See Also:
    • ipd

      protected int ipd
      the area's inline-progression-dimension
    • bpd

      protected int bpd
      the area's block-progression-dimension
    • effectiveIPD

      protected int effectiveIPD
    • bidiLevel

      protected int bidiLevel
      Resolved bidirectional level for area.
    • traits

      protected TreeMap<Integer,Object> traits
      Traits for this area.
    • log

      protected static final org.apache.commons.logging.Log log
      logging instance
  • Constructor Details

    • Area

      public Area()
  • Method Details

    • getChangeBarList

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

      public void setChangeBarList(List<ChangeBar> changeBarList)
      Sets the active change bar list.
      Parameters:
      changeBarList - The active change bar list
    • getAreaClass

      public int getAreaClass()
      Get the area class of this area.
      Returns:
      the area class
    • clone

      public Object clone() throws CloneNotSupportedException
      Overrides:
      clone in class AreaTreeObject
      Throws:
      CloneNotSupportedException
    • setAreaClass

      public void setAreaClass(int areaClass)
      Set the area class of this area.
      Parameters:
      areaClass - the area class
    • setIPD

      public void setIPD(int ipd)
      Set the inline progression dimension of content rectangle for this area.
      Parameters:
      ipd - the new inline progression dimension
      See Also:
    • getIPD

      public int getIPD()
      Get the inline progression dimension of the content rectangle for this area.
      Returns:
      the inline progression dimension
      See Also:
    • setBPD

      public void setBPD(int bpd)
      Set the block progression dimension of the content rectangle for this area.
      Parameters:
      bpd - the new block progression dimension
      See Also:
    • getBPD

      public int getBPD()
      Get the block progression dimension of the content rectangle for this area.
      Returns:
      the block progression dimension
      See Also:
    • getAllocIPD

      public int getAllocIPD()
      Get the allocation inline progression dimension of this area. This adds the content, borders and the padding to find the total allocated IPD.
      Returns:
      the total IPD allocation for this area
    • getEffectiveAllocIPD

      public int getEffectiveAllocIPD()
    • getAllocBPD

      public int getAllocBPD()
      Get the allocation block progression dimension of this area. This adds the content, borders, padding and spaces to find the total allocated BPD.
      Returns:
      the total BPD allocation for this area
    • setBidiLevel

      public void setBidiLevel(int bidiLevel)
      Set the bidirectional embedding level.
      Parameters:
      bidiLevel - the bidirectional embedding level
    • resetBidiLevel

      public void resetBidiLevel()
      Reset the bidirectional embedding level to default value (-1).
    • getBidiLevel

      public int getBidiLevel()
      Get the bidirectional embedding level.
      Returns:
      the bidirectional embedding level
    • getBorderAndPaddingWidthBefore

      public int getBorderAndPaddingWidthBefore()
      Return the sum of region border- and padding-before
      Returns:
      width in millipoints
    • getBorderAndPaddingWidthAfter

      public int getBorderAndPaddingWidthAfter()
      Return the sum of region border- and padding-after
      Returns:
      width in millipoints
    • getBorderAndPaddingWidthStart

      public int getBorderAndPaddingWidthStart()
      Return the sum of region border- and padding-start
      Returns:
      width in millipoints
    • getBorderAndPaddingWidthEnd

      public int getBorderAndPaddingWidthEnd()
      Return the sum of region border- and padding-end
      Returns:
      width in millipoints
    • getSpaceBefore

      public int getSpaceBefore()
      Returns the space before
      Returns:
      width in millipoints
    • getSpaceAfter

      public int getSpaceAfter()
      Returns the space after
      Returns:
      width in millipoints
    • getSpaceStart

      public int getSpaceStart()
      Returns the space start
      Returns:
      width in millipoints
    • getSpaceEnd

      public int getSpaceEnd()
      Returns the space end
      Returns:
      width in millipoints
    • addChildArea

      public void addChildArea(Area child)
      Add a child to this area. The default is to do nothing. Subclasses must override to do something if they can have child areas.
      Parameters:
      child - the child area to add
    • addTrait

      public void addTrait(Integer traitCode, Object prop)
      Add a trait to this area.
      Parameters:
      traitCode - the trait key
      prop - the value of the trait
    • setTraits

      public void setTraits(Map traits)
      Set traits on this area, copying from an existing traits map.
      Parameters:
      traits - the map of traits
    • getTraits

      public Map<Integer,Object> getTraits()
      Get the map of all traits on this area.
      Returns:
      the map of traits
    • hasTraits

      public boolean hasTraits()
      Returns:
      true if the area has traits
    • getTrait

      public Object getTrait(Integer traitCode)
      Get a trait from this area.
      Parameters:
      traitCode - the trait key
      Returns:
      the trait value
    • hasTrait

      public boolean hasTrait(Integer traitCode)
      Checks whether a certain trait is set on this area.
      Parameters:
      traitCode - the trait key
      Returns:
      true if the trait is set
    • getTraitAsBoolean

      public boolean getTraitAsBoolean(Integer traitCode)
      Get a boolean trait from this area.
      Parameters:
      traitCode - the trait key
      Returns:
      the trait value
    • getTraitAsInteger

      public int getTraitAsInteger(Integer traitCode)
      Get a trait from this area as an integer.
      Parameters:
      traitCode - the trait key
      Returns:
      the trait value
    • setWritingModeTraits

      public void setWritingModeTraits(WritingModeTraitsGetter wmtg)
      Sets the writing mode traits for this area. Default implementation does nothing.
      Parameters:
      wmtg - a WM traits getter
    • toString

      public String toString()
      Overrides:
      toString in class Object
      Returns:
      ipd and bpd of area
    • getEffectiveIPD

      public int getEffectiveIPD()
    • activateEffectiveIPD

      public void activateEffectiveIPD()