Class Rectangle

java.lang.Object
com.gitlab.pdftk_java.com.lowagie.text.Rectangle
All Implemented Interfaces:
Element, MarkupAttributes

public class Rectangle extends Object implements Element, MarkupAttributes
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.
    • border

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

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

      protected Color color
      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.
    • 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.
    • useVariableBorders

      protected boolean useVariableBorders
      Whether variable width borders are used.
    • background

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

      protected float grayFill
      This is the grayscale value of the background of this rectangle.
    • rotation

      protected int rotation
    • markupAttributes

      protected Properties markupAttributes
      Contains extra markupAttributes
  • 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(Rectangle rect)
      Constructs a Rectangle -object.
      Parameters:
      rect - another Rectangle
  • Method Details

    • cloneNonPositionParameters

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

      public void softCloneNonPositionParameters(Rectangle rect)
      Copies all of the parameters from a Rectangle object except the position.
      Parameters:
      rect - Rectangle to copy from
    • 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 getChunks()
      Gets all the chunks in this element.
      Specified by:
      getChunks in interface Element
      Returns:
      an ArrayList
    • normalize

      public void normalize()
      Switches lowerleft with upperright
    • 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
    • rotate

      public Rectangle rotate()
      Swaps the values of urx and ury and of lly and llx in order to rotate the rectangle.
      Returns:
      a Rectangle
    • setLeft

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

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

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

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

      public void setBorder(int value)
      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:
      value - the new value
      See Also:
    • 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
    • setBorderWidth

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

      public void setBorderColor(Color value)
      Sets the color of the border.
      Parameters:
      value - the new value
    • setBorderColorRight

      public void setBorderColorRight(Color value)
      Sets the value of the border color
      Parameters:
      value - a color value
    • setBorderColorLeft

      public void setBorderColorLeft(Color value)
      Sets the value of the border color
      Parameters:
      value - a color value
    • setBorderColorTop

      public void setBorderColorTop(Color value)
      Sets the value of the border color
      Parameters:
      value - a color value
    • setBorderColorBottom

      public void setBorderColorBottom(Color value)
      Sets the value of the border color
      Parameters:
      value - a color value
    • setBackgroundColor

      public void setBackgroundColor(Color value)
      Sets the backgroundcolor of the rectangle.
      Parameters:
      value - the new value
    • setGrayFill

      public void setGrayFill(float value)
      Sets the grayscale of the rectangle.
      Parameters:
      value - the new value
    • left

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

      public float getLeft()
    • right

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

      public float getRight()
    • top

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

      public float getTop()
    • bottom

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

      public float getBottom()
    • left

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

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

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

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

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

      public float getWidth()
    • height

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

      public float getHeight()
    • hasBorders

      public boolean hasBorders()
      Indicates if the table has borders.
      Returns:
      a boolean
    • hasBorder

      public boolean hasBorder(int type)
      Indicates if the table has a some type of border.
      Parameters:
      type - the type of border
      Returns:
      a boolean
    • border

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

      public float borderWidth()
      Gets the borderwidth.
      Returns:
      a value
    • borderColor

      public Color borderColor()
      Gets the color of the border.
      Returns:
      a value
    • backgroundColor

      public Color backgroundColor()
      Gets the backgroundcolor.
      Returns:
      a value
    • grayFill

      public float grayFill()
      Gets the grayscale.
      Returns:
      a value
    • getRotation

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

      public void setMarkupAttribute(String name, String value)
      Description copied from interface: MarkupAttributes
      Sets the specified attribute.
      Specified by:
      setMarkupAttribute in interface MarkupAttributes
      Parameters:
      name - String attribute name.
      value - String attribute value.
      See Also:
    • setMarkupAttributes

      public void setMarkupAttributes(Properties markupAttributes)
      Description copied from interface: MarkupAttributes
      Sets the markupAttributes.
      Specified by:
      setMarkupAttributes in interface MarkupAttributes
      Parameters:
      markupAttributes - a Properties-object containing markupattributes
      See Also:
    • getMarkupAttribute

      public String getMarkupAttribute(String name)
      Description copied from interface: MarkupAttributes
      Returns the value of the specified attribute.
      Specified by:
      getMarkupAttribute in interface MarkupAttributes
      Parameters:
      name - String attribute name.
      Returns:
      String.
      See Also:
    • getMarkupAttributeNames

      public Set getMarkupAttributeNames()
      Description copied from interface: MarkupAttributes
      Returns a Set of String attribute names for the MarkupAttributes implementor.
      Specified by:
      getMarkupAttributeNames in interface MarkupAttributes
      Returns:
      Set.
      See Also:
    • getMarkupAttributes

      public Properties getMarkupAttributes()
      Description copied from interface: MarkupAttributes
      Return a Properties-object containing all the markupAttributes.
      Specified by:
      getMarkupAttributes in interface MarkupAttributes
      Returns:
      Properties
      See Also:
    • getBorderColorLeft

      public Color getBorderColorLeft()
      Gets the color of a border.
      Returns:
      a color value
    • getBorderColorRight

      public Color getBorderColorRight()
      Gets the color of a border.
      Returns:
      a color value
    • getBorderColorTop

      public Color getBorderColorTop()
      Gets the color of a border.
      Returns:
      a color value
    • getBorderColorBottom

      public Color getBorderColorBottom()
      Gets the color of a border.
      Returns:
      a color value
    • getBorderWidthLeft

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

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

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

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

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

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

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

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

      private void updateBorderBasedOnWidth(float width, int side)
      Updates 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
    • getVariableBorderWidth

      private float getVariableBorderWidth(float variableWidthValue, int side)
    • 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
    • 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 type
      See Also: