Class Rectangle

java.lang.Object
com.lowagie.text.Rectangle
All Implemented Interfaces:
Element
Direct Known Subclasses:
HeaderFooter, Image, PdfCell, PdfPCell, PdfTable, RectangleReadOnly, SimpleCell, SimpleTable, TableRectangle

public class Rectangle extends Object implements Element
A Rectangle is the representation of a geometric figure.

Rectangles support constant width borders using setBorderWidth(float)and setBorder(int). They also support borders that vary in width/color on each side using methods like setBorderWidthLeft(float)or setBorderColorLeft(java.awt.Color).

See Also:
  • Field Details

    • UNDEFINED

      public static final int UNDEFINED
      This is the value that will be used as undefined .
      See Also:
    • TOP

      public static final int TOP
      This represents one side of the border of the Rectangle.
      See Also:
    • BOTTOM

      public static final int BOTTOM
      This represents one side of the border of the Rectangle.
      See Also:
    • LEFT

      public static final int LEFT
      This represents one side of the border of the Rectangle.
      See Also:
    • NO_BORDER

      public static final int NO_BORDER
      This represents a rectangle without borders.
      See Also:
    • BOX

      public static final int BOX
      This represents a type of border.
      See Also:
    • llx

      protected float llx
      the lower left x-coordinate.
    • lly

      protected float lly
      the lower left y-coordinate.
    • urx

      protected float urx
      the upper right x-coordinate.
    • ury

      protected float ury
      the upper right y-coordinate.
    • offsetToTop

      protected float offsetToTop
      the offset relative to a certain top.
    • rotation

      protected int rotation
      The rotation of the Rectangle
    • backgroundColor

      protected Color backgroundColor
      This is the color of the background of this rectangle.
    • border

      protected int border
      This represents the status of the 4 sides of the rectangle.
    • useVariableBorders

      protected boolean useVariableBorders
      Whether variable width/color borders are used.
    • borderWidth

      protected float borderWidth
      This is the width of the border around this rectangle.
    • borderWidthLeft

      protected float borderWidthLeft
      The width of the left border of this rectangle.
    • borderWidthRight

      protected float borderWidthRight
      The width of the right border of this rectangle.
    • borderWidthTop

      protected float borderWidthTop
      The width of the top border of this rectangle.
    • borderWidthBottom

      protected float borderWidthBottom
      The width of the bottom border of this rectangle.
    • borderColor

      protected Color borderColor
      The color of the border of this rectangle.
    • borderColorLeft

      protected Color borderColorLeft
      The color of the left border of this rectangle.
    • borderColorRight

      protected Color borderColorRight
      The color of the right border of this rectangle.
    • borderColorTop

      protected Color borderColorTop
      The color of the top border of this rectangle.
    • borderColorBottom

      protected Color borderColorBottom
      The color of the bottom border of this rectangle.
  • Constructor Details

    • Rectangle

      public Rectangle(float llx, float lly, float urx, float ury)
      Constructs a Rectangle -object.
      Parameters:
      llx - lower left x
      lly - lower left y
      urx - upper right x
      ury - upper right y
    • Rectangle

      public Rectangle(float urx, float ury)
      Constructs a Rectangle -object starting from the origin (0, 0).
      Parameters:
      urx - upper right x
      ury - upper right y
    • Rectangle

      public Rectangle(float llx, float lly, float urx, float ury, int rotation)
      Constructs a Rectangle -object.
      Parameters:
      llx - lower left x
      lly - lower left y
      urx - upper right x
      ury - upper right y
      rotation - 0, 90, 180, or 270 grades
    • Rectangle

      public Rectangle(float urx, float ury, int rotation)
      Constructs a Rectangle -object starting from the origin (0, 0).
      Parameters:
      urx - upper right x
      ury - upper right y
      rotation - 0, 90, 180, or 270 grades
    • Rectangle

      public Rectangle(Rectangle rect)
      Constructs a Rectangle -object.
      Parameters:
      rect - another Rectangle
  • Method Details

    • process

      public boolean process(ElementListener listener)
      Processes the element by adding it (or the different parts) to an ElementListener.
      Specified by:
      process in interface Element
      Parameters:
      listener - an ElementListener
      Returns:
      true if the element was processed successfully
    • type

      public int type()
      Gets the type of the text element.
      Specified by:
      type in interface Element
      Returns:
      a type
    • getChunks

      public ArrayList<Element> getChunks()
      Gets all the chunks in this element.
      Specified by:
      getChunks in interface Element
      Returns:
      an ArrayList
    • isContent

      public boolean isContent()
      Description copied from interface: Element
      Checks if this element is a content object. If not, it's a metadata object.
      Specified by:
      isContent in interface Element
      Returns:
      true if this is a 'content' element; false if this is a 'metadata' element
      Since:
      iText 2.0.8
      See Also:
    • isNestable

      public boolean isNestable()
      Description copied from interface: Element
      Checks if this element is nestable.
      Specified by:
      isNestable in interface Element
      Returns:
      true if this element can be nested inside other elements.
      Since:
      iText 2.0.8
      See Also:
    • getLeft

      public float getLeft()
      Returns the lower left x-coordinate.
      Returns:
      the lower left x-coordinate
    • setLeft

      public void setLeft(float llx)
      Sets the lower left x-coordinate.
      Parameters:
      llx - the new value
    • getLeft

      public float getLeft(float margin)
      Returns the lower left x-coordinate, considering a given margin.
      Parameters:
      margin - a margin
      Returns:
      the lower left x-coordinate
    • getRight

      public float getRight()
      Returns the upper right x-coordinate.
      Returns:
      the upper right x-coordinate
    • setRight

      public void setRight(float urx)
      Sets the upper right x-coordinate.
      Parameters:
      urx - the new value
    • getRight

      public float getRight(float margin)
      Returns the upper right x-coordinate, considering a given margin.
      Parameters:
      margin - a margin
      Returns:
      the upper right x-coordinate
    • getWidth

      public float getWidth()
      Returns the width of the rectangle.
      Returns:
      the width
    • getTop

      public float getTop()
      Returns the upper right y-coordinate.
      Returns:
      the upper right y-coordinate
    • setTop

      public void setTop(float ury)
      Sets the upper right y-coordinate.
      Parameters:
      ury - the new value
    • getTop

      public float getTop(float margin)
      Returns the upper right y-coordinate, considering a given margin.
      Parameters:
      margin - a margin
      Returns:
      the upper right y-coordinate
    • getRelativeTop

      public float getRelativeTop()
      Gets offset relative to top.
      Returns:
      offset relative to top
    • setRelativeTop

      public void setRelativeTop(float offsetToTop)
      Sets offset relative to top.
      Parameters:
      offsetToTop - the new offset
    • getBottom

      public float getBottom()
      Returns the lower left y-coordinate.
      Returns:
      the lower left y-coordinate
    • setBottom

      public void setBottom(float lly)
      Sets the lower left y-coordinate.
      Parameters:
      lly - the new value
    • getBottom

      public float getBottom(float margin)
      Returns the lower left y-coordinate, considering a given margin.
      Parameters:
      margin - a margin
      Returns:
      the lower left y-coordinate
    • getHeight

      public float getHeight()
      Returns the height of the rectangle.
      Returns:
      the height
    • normalize

      public void normalize()
      Normalizes the rectangle. Switches lower left with upper right if necessary.
    • getRotation

      public int getRotation()
      Gets the rotation of the rectangle
      Returns:
      a rotation value
    • setRotation

      public void setRotation(int rotation)
      Sets the rotation of the rectangle. Valid values are 0, 90, 180, and 270.
      Parameters:
      rotation - the new rotation value
      Since:
      iText 5.0.6
    • rotate

      public Rectangle rotate()
      Rotates the rectangle. Swaps the values of llx and lly and of urx and ury.
      Returns:
      the rotated Rectangle
    • getBackgroundColor

      public Color getBackgroundColor()
      Gets the backgroundcolor.
      Returns:
      a Color
    • setBackgroundColor

      public void setBackgroundColor(Color backgroundColor)
      Sets the backgroundcolor of the rectangle.
      Parameters:
      backgroundColor - a Color
    • getGrayFill

      public float getGrayFill()
      Gets the grayscale.
      Returns:
      the grayscale color of the background or 0 if the background has no grayscale color.
    • setGrayFill

      public void setGrayFill(float value)
      Sets the the background color to a grayscale value.
      Parameters:
      value - the new grayscale value
    • getBorder

      public int getBorder()
      Returns the exact type of the border.
      Returns:
      a value
    • setBorder

      public void setBorder(int border)
      Enables/Disables the border on the specified sides. The border is specified as an integer bitwise combination of the constants: LEFT, RIGHT, TOP, BOTTOM.
      Parameters:
      border - the new value
      See Also:
    • hasBorders

      public boolean hasBorders()
      Indicates whether some type of border is set.
      Returns:
      a boolean
    • hasBorder

      public boolean hasBorder(int type)
      Indicates whether the specified type of border is set.
      Parameters:
      type - the type of border
      Returns:
      a boolean
    • isUseVariableBorders

      public boolean isUseVariableBorders()
      Indicates whether variable width borders are being used. Returns true if setBorderWidthLeft, setBorderWidthRight, setBorderWidthTop, or setBorderWidthBottom has been called.
      Returns:
      true if variable width borders are in use
    • setUseVariableBorders

      public void setUseVariableBorders(boolean useVariableBorders)
      Sets a parameter indicating if the rectangle has variable borders
      Parameters:
      useVariableBorders - indication if the rectangle has variable borders
    • enableBorderSide

      public void enableBorderSide(int side)
      Enables the border on the specified side.
      Parameters:
      side - the side to enable. One of LEFT, RIGHT, TOP, BOTTOM
    • disableBorderSide

      public void disableBorderSide(int side)
      Disables the border on the specified side.
      Parameters:
      side - the side to disable. One of LEFT, RIGHT, TOP, BOTTOM
    • getBorderWidth

      public float getBorderWidth()
      Gets the borderwidth.
      Returns:
      a value
    • setBorderWidth

      public void setBorderWidth(float borderWidth)
      Sets the borderwidth of the table.
      Parameters:
      borderWidth - the new value
    • getVariableBorderWidth

      private float getVariableBorderWidth(float variableWidthValue, int side)
      Helper function returning the border width of a specific side.
      Parameters:
      variableWidthValue - a variable width (could be undefined)
      side - the border you want to check
      Returns:
      the variableWidthValue if not undefined, otherwise the borderWidth
    • updateBorderBasedOnWidth

      private void updateBorderBasedOnWidth(float width, int side)
      Helper function updating the border flag for a side based on the specified width. A width of 0 will disable the border on that side. Any other width enables it.
      Parameters:
      width - width of border
      side - border side constant
    • getBorderWidthLeft

      public float getBorderWidthLeft()
      Gets the width of the left border.
      Returns:
      a width
    • setBorderWidthLeft

      public void setBorderWidthLeft(float borderWidthLeft)
      Sets the width of the left border.
      Parameters:
      borderWidthLeft - a width
    • getBorderWidthRight

      public float getBorderWidthRight()
      Gets the width of the right border.
      Returns:
      a width
    • setBorderWidthRight

      public void setBorderWidthRight(float borderWidthRight)
      Sets the width of the right border.
      Parameters:
      borderWidthRight - a width
    • getBorderWidthTop

      public float getBorderWidthTop()
      Gets the width of the top border.
      Returns:
      a width
    • setBorderWidthTop

      public void setBorderWidthTop(float borderWidthTop)
      Sets the width of the top border.
      Parameters:
      borderWidthTop - a width
    • getBorderWidthBottom

      public float getBorderWidthBottom()
      Gets the width of the bottom border.
      Returns:
      a width
    • setBorderWidthBottom

      public void setBorderWidthBottom(float borderWidthBottom)
      Sets the width of the bottom border.
      Parameters:
      borderWidthBottom - a width
    • getBorderColor

      public Color getBorderColor()
      Gets the color of the border.
      Returns:
      a Color
    • setBorderColor

      public void setBorderColor(Color borderColor)
      Sets the color of the border.
      Parameters:
      borderColor - a Color
    • getBorderColorLeft

      public Color getBorderColorLeft()
      Gets the color of the left border.
      Returns:
      a Color
    • setBorderColorLeft

      public void setBorderColorLeft(Color borderColorLeft)
      Sets the color of the left border.
      Parameters:
      borderColorLeft - a Color
    • getBorderColorRight

      public Color getBorderColorRight()
      Gets the color of the right border.
      Returns:
      a Color
    • setBorderColorRight

      public void setBorderColorRight(Color borderColorRight)
      Sets the color of the right border.
      Parameters:
      borderColorRight - a Color
    • getBorderColorTop

      public Color getBorderColorTop()
      Gets the color of the top border.
      Returns:
      a Color
    • setBorderColorTop

      public void setBorderColorTop(Color borderColorTop)
      Sets the color of the top border.
      Parameters:
      borderColorTop - a Color
    • getBorderColorBottom

      public Color getBorderColorBottom()
      Gets the color of the bottom border.
      Returns:
      a Color
    • setBorderColorBottom

      public void setBorderColorBottom(Color borderColorBottom)
      Sets the color of the bottom border.
      Parameters:
      borderColorBottom - a Color
    • rectangle

      public Rectangle rectangle(float top, float bottom)
      Gets a Rectangle that is altered to fit on the page.
      Parameters:
      top - the top position
      bottom - the bottom position
      Returns:
      a Rectangle
    • cloneNonPositionParameters

      public void cloneNonPositionParameters(Rectangle rect)
      Copies each of the parameters, except the position, from a Rectangle object
      Parameters:
      rect - Rectangle to copy from
    • softCloneNonPositionParameters

      public void softCloneNonPositionParameters(Rectangle rect)
      Copies each of the parameters, except the position, from a Rectangle object if the value is set there
      Parameters:
      rect - Rectangle to copy from
    • toString

      public String toString()
      Description copied from interface: Element
      Gets the content of the text element.
      Specified by:
      toString in interface Element
      Overrides:
      toString in class Object
      Returns:
      a String representation of the rectangle
      See Also: