## com.lowagie.text
Class Rectangle

    java.lang.Object
      com.lowagie.text.Rectangle

All Implemented Interfaces:
  Element

Direct Known Subclasses:
  Cell, HeaderFooter, Image, PdfCell, PdfPCell, PdfTable, RectangleReadOnly, SimpleCell, SimpleTable, Table

    public class Rectangle

extends java.lang.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:
  `Element`, `Table`, `Cell`, `HeaderFooter`

Field Summary
`protected java.awt.Color` `backgroundColor` This is the color of the background of this rectangle.
`protected int` `border` This represents the status of the 4 sides of the rectangle.
`protected java.awt.Color` `borderColor` The color of the border of this rectangle.
`protected java.awt.Color` `borderColorBottom` The color of the bottom border of this rectangle.
`protected java.awt.Color` `borderColorLeft` The color of the left border of this rectangle.
`protected java.awt.Color` `borderColorRight` The color of the right border of this rectangle.
`protected java.awt.Color` `borderColorTop` The color of the top border of this rectangle.
`protected float` `borderWidth` This is the width of the border around this rectangle.
`protected float` `borderWidthBottom` The width of the bottom border of this rectangle.
`protected float` `borderWidthLeft` The width of the left border of this rectangle.
`protected float` `borderWidthRight` The width of the right border of this rectangle.
`protected float` `borderWidthTop` The width of the top border of this rectangle.
`static int` `BOTTOM` This represents one side of the border of the `Rectangle`.
`static int` `BOX` This represents a type of border.
`static int` `LEFT` This represents one side of the border of the `Rectangle`.
`protected float` `llx` the lower left x-coordinate.
`protected float` `lly` the lower left y-coordinate.
`static int` `NO_BORDER` This represents a rectangle without borders.
`static int` `RIGHT` This represents one side of the border of the `Rectangle`.
`protected int` `rotation` The rotation of the Rectangle
`static int` `TOP` This represents one side of the border of the `Rectangle`.
`static int` `UNDEFINED` This is the value that will be used as undefined .
`protected float` `urx` the upper right x-coordinate.
`protected float` `ury` the upper right y-coordinate.
`protected boolean` `useVariableBorders` Whether variable width/color borders are used.

Fields inherited from interface com.lowagie.text.Element

`ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CCITTG3_1D, CCITTG3_2D, CCITTG4, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, HEADER, IMGRAW, IMGTEMPLATE, JBIG2, JPEG, JPEG2000, KEYWORDS, LIST, LISTITEM, MARKED, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE, YMARK`

Constructor Summary
`Rectangle(float urx, float ury)` Constructs a `Rectangle` -object starting from the origin (0, 0).
`Rectangle(float llx, float lly, float urx, float ury)` Constructs a `Rectangle` -object.
`Rectangle(Rectangle rect)` Constructs a `Rectangle` -object.

Method Summary
`void` `cloneNonPositionParameters(Rectangle rect)` Copies each of the parameters, except the position, from a `Rectangle` object
`void` `disableBorderSide(int side)` Disables the border on the specified side.
`void` `enableBorderSide(int side)` Enables the border on the specified side.
`java.awt.Color` `getBackgroundColor()` Gets the backgroundcolor.
`int` `getBorder()` Returns the exact type of the border.
`java.awt.Color` `getBorderColor()` Gets the color of the border.
`java.awt.Color` `getBorderColorBottom()` Gets the color of the bottom border.
`java.awt.Color` `getBorderColorLeft()` Gets the color of the left border.
`java.awt.Color` `getBorderColorRight()` Gets the color of the right border.
`java.awt.Color` `getBorderColorTop()` Gets the color of the top border.
`float` `getBorderWidth()` Gets the borderwidth.
`float` `getBorderWidthBottom()` Gets the width of the bottom border.
`float` `getBorderWidthLeft()` Gets the width of the left border.
`float` `getBorderWidthRight()` Gets the width of the right border.
`float` `getBorderWidthTop()` Gets the width of the top border.
`float` `getBottom()` Returns the lower left y-coordinate.
`float` `getBottom(float margin)` Returns the lower left y-coordinate, considering a given margin.
`java.util.ArrayList` `getChunks()` Gets all the chunks in this element.
`float` `getGrayFill()` Gets the grayscale.
`float` `getHeight()` Returns the height of the rectangle.
`float` `getLeft()` Returns the lower left x-coordinate.
`float` `getLeft(float margin)` Returns the lower left x-coordinate, considering a given margin.
`float` `getRight()` Returns the upper right x-coordinate.
`float` `getRight(float margin)` Returns the upper right x-coordinate, considering a given margin.
`int` `getRotation()` Gets the rotation of the rectangle
`float` `getTop()` Returns the upper right y-coordinate.
`float` `getTop(float margin)` Returns the upper right y-coordinate, considering a given margin.
`private float` `getVariableBorderWidth(float variableWidthValue, int side)` Helper function returning the border width of a specific side.
`float` `getWidth()` Returns the width of the rectangle.
`boolean` `hasBorder(int type)` Indicates whether the specified type of border is set.
`boolean` `hasBorders()` Indicates whether some type of border is set.
`boolean` `isContent()` Checks if this element is a content object.
`boolean` `isNestable()` Checks if this element is nestable.
`boolean` `isUseVariableBorders()` Indicates whether variable width borders are being used.
`void` `normalize()` Normalizes the rectangle.
`boolean` `process(ElementListener listener)` Processes the element by adding it (or the different parts) to an `ElementListener`.
`Rectangle` `rectangle(float top, float bottom)` Gets a Rectangle that is altered to fit on the page.
`Rectangle` `rotate()` Rotates the rectangle.
`void` `setBackgroundColor(java.awt.Color backgroundColor)` Sets the backgroundcolor of the rectangle.
`void` `setBorder(int border)` Enables/Disables the border on the specified sides.
`void` `setBorderColor(java.awt.Color borderColor)` Sets the color of the border.
`void` `setBorderColorBottom(java.awt.Color borderColorBottom)` Sets the color of the bottom border.
`void` `setBorderColorLeft(java.awt.Color borderColorLeft)` Sets the color of the left border.
`void` `setBorderColorRight(java.awt.Color borderColorRight)` Sets the color of the right border.
`void` `setBorderColorTop(java.awt.Color borderColorTop)` Sets the color of the top border.
`void` `setBorderWidth(float borderWidth)` Sets the borderwidth of the table.
`void` `setBorderWidthBottom(float borderWidthBottom)` Sets the width of the bottom border.
`void` `setBorderWidthLeft(float borderWidthLeft)` Sets the width of the left border.
`void` `setBorderWidthRight(float borderWidthRight)` Sets the width of the right border.
`void` `setBorderWidthTop(float borderWidthTop)` Sets the width of the top border.
`void` `setBottom(float lly)` Sets the lower left y-coordinate.
`void` `setGrayFill(float value)` Sets the the background color to a grayscale value.
`void` `setLeft(float llx)` Sets the lower left x-coordinate.
`void` `setRight(float urx)` Sets the upper right x-coordinate.
`void` `setTop(float ury)` Sets the upper right y-coordinate.
`void` `setUseVariableBorders(boolean useVariableBorders)` Sets a parameter indicating if the rectangle has variable borders
`void` `softCloneNonPositionParameters(Rectangle rect)` Copies each of the parameters, except the position, from a `Rectangle` object if the value is set there
`java.lang.String` `toString()` Gets the content of the text element.
`int` `type()` Gets the type of the text element.
`private void` `updateBorderBasedOnWidth(float width, int side)` Helper function updating the border flag for a side based on the specified width.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### UNDEFINED

    public static final int UNDEFINED

  This is the value that will be used as undefined .

  See Also:
    Constant Field Values

### TOP

    public static final int TOP

  This represents one side of the border of the `Rectangle`.

  See Also:
    Constant Field Values

### BOTTOM

    public static final int BOTTOM

  This represents one side of the border of the `Rectangle`.

  See Also:
    Constant Field Values

### LEFT

    public static final int LEFT

  This represents one side of the border of the `Rectangle`.

  See Also:
    Constant Field Values

### RIGHT

    public static final int RIGHT

  This represents one side of the border of the `Rectangle`.

  See Also:
    Constant Field Values

### NO_BORDER

    public static final int NO_BORDER

  This represents a rectangle without borders.

  See Also:
    Constant Field Values

### BOX

    public static final int BOX

  This represents a type of border.

  See Also:
    Constant Field Values

### 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.

### rotation

    protected int rotation

  The rotation of the Rectangle

### backgroundColor

    protected java.awt.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 java.awt.Color borderColor

  The color of the border of this rectangle.

### borderColorLeft

    protected java.awt.Color borderColorLeft

  The color of the left border of this rectangle.

### borderColorRight

    protected java.awt.Color borderColorRight

  The color of the right border of this rectangle.

### borderColorTop

    protected java.awt.Color borderColorTop

  The color of the top border of this rectangle.

### borderColorBottom

    protected java.awt.Color borderColorBottom

  The color of the bottom border of this rectangle.

Constructor Detail

### 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 Detail

### 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 java.util.ArrayList 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:
    `Element.isContent()`

### 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:
    `Element.isNestable()`

### setLeft

    public void setLeft(float llx)

  Sets the lower left x-coordinate.

  Parameters:
    `llx` - the new value

### getLeft

    public float getLeft()

  Returns the lower left x-coordinate.

  Returns:
    the lower left x-coordinate

### 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

### setRight

    public void setRight(float urx)

  Sets the upper right x-coordinate.

  Parameters:
    `urx` - the new value

### getRight

    public float getRight()

  Returns the upper right x-coordinate.

  Returns:
    the upper right x-coordinate

### 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

### setTop

    public void setTop(float ury)

  Sets the upper right y-coordinate.

  Parameters:
    `ury` - the new value

### getTop

    public float getTop()

  Returns the upper right y-coordinate.

  Returns:
    the upper right y-coordinate

### 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

### setBottom

    public void setBottom(float lly)

  Sets the lower left y-coordinate.

  Parameters:
    `lly` - the new value

### getBottom

    public float getBottom()

  Returns the lower left y-coordinate.

  Returns:
    the lower left y-coordinate

### 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

### 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 java.awt.Color getBackgroundColor()

  Gets the backgroundcolor.

  Returns:
    a `Color`

### setBackgroundColor

    public void setBackgroundColor(java.awt.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

### 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

### 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:
    `enableBorderSide(int)`, `disableBorderSide(int)`

### 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 java.awt.Color getBorderColor()

  Gets the color of the border.

  Returns:
    a `Color`

### setBorderColor

    public void setBorderColor(java.awt.Color borderColor)

  Sets the color of the border.

  Parameters:
    `borderColor` - a `Color`

### getBorderColorLeft

    public java.awt.Color getBorderColorLeft()

  Gets the color of the left border.

  Returns:
    a `Color`

### setBorderColorLeft

    public void setBorderColorLeft(java.awt.Color borderColorLeft)

  Sets the color of the left border.

  Parameters:
    `borderColorLeft` - a `Color`

### getBorderColorRight

    public java.awt.Color getBorderColorRight()

  Gets the color of the right border.

  Returns:
    a `Color`

### setBorderColorRight

    public void setBorderColorRight(java.awt.Color borderColorRight)

  Sets the color of the right border.

  Parameters:
    `borderColorRight` - a `Color`

### getBorderColorTop

    public java.awt.Color getBorderColorTop()

  Gets the color of the top border.

  Returns:
    a `Color`

### setBorderColorTop

    public void setBorderColorTop(java.awt.Color borderColorTop)

  Sets the color of the top border.

  Parameters:
    `borderColorTop` - a `Color`

### getBorderColorBottom

    public java.awt.Color getBorderColorBottom()

  Gets the color of the bottom border.

  Returns:
    a `Color`

### setBorderColorBottom

    public void setBorderColorBottom(java.awt.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 java.lang.String toString()

  Description copied from interface: `Element`
  Gets the content of the text element.

  Specified by:
    `toString` in interface `Element`
  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a String representation of the rectangle
  See Also:
    `Object.toString()`

Hosted by Hostbasket