com.lowagie.text

Class Rectangle

Implemented Interfaces:
Element, MarkupAttributes
Known Direct Subclasses:
Cell, HeaderFooter, Image, PdfCell, PdfPCell, PdfTable, SimpleCell, SimpleTable, Table

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

Field Summary

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.
static int
NO_BORDER
This represents a rectangle without borders.
static int
RIGHT
This represents one side of the border 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 Color
background
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 Color
borderColorBottom
The color of the bottom border of this rectangle.
protected Color
borderColorLeft
The color of the left border of this rectangle.
protected Color
borderColorRight
The color of the right border of this rectangle.
protected 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.
protected Color
color
The color of the border of this rectangle.
protected float
llx
the lower left x-coordinate.
protected float
lly
the lower left y-coordinate.
protected Properties
markupAttributes
Contains extra markupAttributes
protected int
rotation
protected float
urx
the upper right x-coordinate.
protected float
ury
the upper right y-coordinate.
protected boolean
useVariableBorders
Whether variable width 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, CCITTG3_1D, CCITTG3_2D, CCITTG4, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, GRAPHIC, HEADER, IMGRAW, IMGTEMPLATE, JPEG, KEYWORDS, LIST, LISTITEM, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE

Constructor Summary

Rectangle(Rectangle rect)
Constructs a Rectangle -object.
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.

Method Summary

Color
backgroundColor()
Gets the backgroundcolor.
int
border()
Returns the exact type of the border.
Color
borderColor()
Gets the color of the border.
float
borderWidth()
Gets the borderwidth.
float
bottom()
Returns the lower left y-coordinate.
float
bottom(float margin)
Returns the lower left y-coordinate, considering a given margin.
void
cloneNonPositionParameters(Rectangle rect)
Copies all of the parameters from a Rectangle object except the position.
void
disableBorderSide(int side)
Disables the border on the specified side.
void
enableBorderSide(int side)
Enables the border on the specified side.
Color
getBorderColorBottom()
Gets the color of a border.
Color
getBorderColorLeft()
Gets the color of a border.
Color
getBorderColorRight()
Gets the color of a border.
Color
getBorderColorTop()
Gets the color of a border.
float
getBorderWidthBottom()
Gets the width of a border.
float
getBorderWidthLeft()
Gets the width of a border.
float
getBorderWidthRight()
Gets the width of a border.
float
getBorderWidthTop()
Gets the width of a border.
ArrayList
getChunks()
Gets all the chunks in this element.
String
getMarkupAttribute(String name)
Set
getMarkupAttributeNames()
Properties
getMarkupAttributes()
int
getRotation()
Gets the rotation of the rectangle
private float
getVariableBorderWidth(float variableWidthValue, int side)
float
grayFill()
Gets the grayscale.
boolean
hasBorder(int type)
Indicates if the table has a some type of border.
boolean
hasBorders()
Indicates if the table has borders.
float
height()
Returns the height of the rectangle.
boolean
isUseVariableBorders()
Indicates whether variable width borders are being used.
float
left()
Returns the lower left x-coordinate.
float
left(float margin)
Returns the lower left x-coordinate, considering a given margin.
void
normalize()
Switches lowerleft with upperright
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.
float
right()
Returns the upper right x-coordinate.
float
right(float margin)
Returns the upper right x-coordinate, considering a given margin.
Rectangle
rotate()
Swaps the values of urx and ury and of lly and llx in order to rotate the rectangle.
void
setBackgroundColor(Color value)
Sets the backgroundcolor of the rectangle.
void
setBorder(int value)
Enables/Disables the border on the specified sides.
void
setBorderColor(Color value)
Sets the color of the border.
void
setBorderColorBottom(Color value)
Sets the value of the border color
void
setBorderColorLeft(Color value)
Sets the value of the border color
void
setBorderColorRight(Color value)
Sets the value of the border color
void
setBorderColorTop(Color value)
Sets the value of the border color
void
setBorderWidth(float value)
Sets the borderwidth of the table.
void
setBorderWidthBottom(float borderWidthBottom)
Sets the width of a border
void
setBorderWidthLeft(float borderWidthLeft)
Sets the width of a border
void
setBorderWidthRight(float borderWidthRight)
Sets the width of a border
void
setBorderWidthTop(float borderWidthTop)
Sets the width of a border
void
setBottom(float value)
Sets the lower left y-coordinate.
void
setGrayFill(float value)
Sets the grayscale of the rectangle.
void
setLeft(float value)
Sets the lower left x-coordinate.
void
setMarkupAttribute(String name, String value)
void
setMarkupAttributes(Properties markupAttributes)
void
setRight(float value)
Sets the upper right x-coordinate.
void
setTop(float value)
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 all of the parameters from a Rectangle object except the position.
String
toString()
float
top()
Returns the upper right y-coordinate.
float
top(float margin)
Returns the upper right y-coordinate, considering a given margin.
int
type()
Gets the type of the text element.
private void
updateBorderBasedOnWidth(float width, int side)
Updates the border flag for a side based on the specified width.
float
width()
Returns the width of the rectangle.

Field Details

BOTTOM

public static final int BOTTOM
This represents one side of the border of the Rectangle.
Field Value:
2

BOX

public static final int BOX
This represents a type of border.
Field Value:
15

LEFT

public static final int LEFT
This represents one side of the border of the Rectangle.
Field Value:
4

NO_BORDER

public static final int NO_BORDER
This represents a rectangle without borders.
Field Value:
0

RIGHT

public static final int RIGHT
This represents one side of the border of the Rectangle.
Field Value:
8

TOP

public static final int TOP
This represents one side of the border of the Rectangle.
Field Value:
1

UNDEFINED

public static final int UNDEFINED
This is the value that will be used as undefined .
Field Value:
-1

background

protected Color background
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.

borderColorBottom

protected Color borderColorBottom
The color of the bottom 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.

borderWidth

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

borderWidthBottom

protected float borderWidthBottom
The width 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.

color

protected Color color
The color of the border of this rectangle.

llx

protected float llx
the lower left x-coordinate.

lly

protected float lly
the lower left y-coordinate.

markupAttributes

protected Properties markupAttributes
Contains extra markupAttributes

rotation

protected int rotation

urx

protected float urx
the upper right x-coordinate.

ury

protected float ury
the upper right y-coordinate.

useVariableBorders

protected boolean useVariableBorders
Whether variable width borders are used.

Constructor Details

Rectangle

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

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)
Constructs a Rectangle -object.
Parameters:
llx - lower left x
lly - lower left y
urx - upper right x
ury - upper right y

Method Details

backgroundColor

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

border

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

borderColor

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

borderWidth

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

bottom

public float bottom()
Returns the lower left y-coordinate.
Returns:
the lower left 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

cloneNonPositionParameters

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

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

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

getBorderColorBottom

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

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

getBorderWidthBottom

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

getBorderWidthLeft

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

getBorderWidthRight

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

getBorderWidthTop

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

getChunks

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

getMarkupAttribute

public String getMarkupAttribute(String name)
Specified by:
getMarkupAttribute in interface MarkupAttributes
See Also:
com.lowagie.text.MarkupAttributes.getMarkupAttribute(java.lang.String)

getMarkupAttributeNames

public Set getMarkupAttributeNames()
Specified by:
getMarkupAttributeNames in interface MarkupAttributes

getMarkupAttributes

public Properties getMarkupAttributes()
Specified by:
getMarkupAttributes in interface MarkupAttributes

getRotation

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

getVariableBorderWidth

private float getVariableBorderWidth(float variableWidthValue,
                                     int side)

grayFill

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

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

hasBorders

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

height

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

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

left

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

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

normalize

public void normalize()
Switches lowerleft with upperright

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

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

right

public float right()
Returns the upper right x-coordinate.
Returns:
the upper right 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

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

setBackgroundColor

public void setBackgroundColor(Color value)
Sets the backgroundcolor of the rectangle.
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

setBorderColor

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

setBorderColorBottom

public void setBorderColorBottom(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

setBorderColorRight

public void setBorderColorRight(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

setBorderWidth

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

setBorderWidthBottom

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

setBorderWidthLeft

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

setBorderWidthRight

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

setBorderWidthTop

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

setBottom

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

setGrayFill

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

setLeft

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

setMarkupAttribute

public void setMarkupAttribute(String name,
                               String value)
Specified by:
setMarkupAttribute in interface MarkupAttributes
See Also:
com.lowagie.text.MarkupAttributes.setMarkupAttribute(java.lang.String, java.lang.String)

setMarkupAttributes

public void setMarkupAttributes(Properties markupAttributes)
Specified by:
setMarkupAttributes in interface MarkupAttributes
See Also:
com.lowagie.text.MarkupAttributes.setMarkupAttributes(java.util.Properties)

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

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

softCloneNonPositionParameters

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

toString

public String toString()
Specified by:
toString in interface Element
See Also:
java.lang.Object.toString()

top

public float top()
Returns the upper right y-coordinate.
Returns:
the upper right y-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

type

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

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

width

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