com.codename1.ui.geom

## Class Rectangle2D

• All Implemented Interfaces:
Shape

```public class Rectangle2D
extends Object
implements Shape```
Represents a Rectangle position (x, y) and `Dimension` (width, height), this is useful for measuring coordinates within the application.
• ### Constructor Summary

Constructors
Constructor and Description
`Rectangle2D()`
Creates a new instance of Rectangle
```Rectangle2D(double x, double y, Dimension2D size)```
Creates a new instance of Rectangle at position (x, y) and with predefine dimension
```Rectangle2D(double x, double y, double w, double h)```
Creates a new instance of Rectangle at position (x, y) and with predefine width and height
`Rectangle2D(Rectangle2D rect)`
A copy Constructor
• ### Method Summary

All Methods
Modifier and Type Method and Description
`boolean` ```contains(double rX, double rY)```
Checks whether or not this Rectangle contains the point at the specified location (rX, rY).
`boolean` ```contains(double rX, double rY, double rWidth, double rHeight)```
Checks whether this Rectangle entirely contains the Rectangle at the specified location (rX, rY) with the specified dimensions (rWidth, rHeight).
`static boolean` ```contains(double x1, double y1, double w1, double h1, double x2, double y2, double w2, double h2)```
Checks wheather the 2nd rectangle is contained in the first rectangle
`boolean` ```contains(int x, int y)```
Checks if the shape contains the given point.
`boolean` `contains(Rectangle2D rect)`
Checks whether or not this Rectangle entirely contains the specified Rectangle.
`Rectangle` `getBounds()`
{Returns the bounding rectangle for the shape.}
`float[]` `getBounds2D()`
{Gets the bounds of the shape as a 4-element array representing the (x,y,width,height) tuple.}
`double` `getHeight()`
Convenience method for getSize().getHeight();
`PathIterator` `getPathIterator()`
{Gets an iterator to walk all of the path segments of the shape.}
`PathIterator` `getPathIterator(Transform m)`
{Gets an iterator where all points are transformed by the provided transform.}
`Dimension2D` `getSize()`
Return the dimension of the rectangle
`double` `getWidth()`
Convenience method for getSize().getWidth();
`double` `getX()`
Return the x coordinate of the rectangle
`double` `getY()`
Return the y coordinate of the rectangle
`Rectangle2D` ```intersection(double rX, double rY, double rW, double rH)```
Returns a rectangle that intersects the given rectangle with this rectangle
`static void` ```intersection(double rrX, double rrY, double rrW, double rrH, double rtx1, double rty1, double rtw2, double rth2, Rectangle2D dest)```
Returns a rectangle that intersects the given rectangle with this rectangle
`Shape` `intersection(Rectangle rect)`
Returns the shape formed by the intersection of this shape and the provided rectangle.
`Rectangle2D` `intersection(Rectangle2D r)`
Returns a rectangle that intersects the given rectangle with this rectangle
`boolean` ```intersects(double x, double y, double width, double height)```
Determines whether or not this Rectangle and the specified Rectangle location (x, y) with the specified dimensions (width, height), intersect.
`static boolean` ```intersects(double tx, double ty, double tw, double th, double x, double y, double width, double height)```
Helper method allowing us to determine if two coordinate sets intersect.
`boolean` `intersects(Rectangle2D rect)`
Determines whether or not this Rectangle and the specified Rectangle location (x, y) with the specified dimensions (width, height), intersect.
`boolean` `isRectangle()`
{Checks if this shape is a rectangle.}
`void` ```setBounds(double x, double y, double w, double h)```
Helper method to set coordinates
`void` `setHeight(double h)`
Convenience method for getSize().setHeight();
`void` `setWidth(double w)`
Convenience method for getSize().setWidth();
`void` `setX(double x)`
Sets the x position of the rectangle as a double.
`void` `setX(int x)`
Sets the x position of the rectangle
`void` `setY(double y)`
Sets the y position of the rectangle as a double.
`void` `setY(int y)`
Sets the y position of the rectangle
`String` `toString()`
Returns a string representation of the object.
`void` ```translate(double x, double y)```
• ### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`
• ### Constructor Detail

• #### Rectangle2D

`public Rectangle2D()`
Creates a new instance of Rectangle
• #### Rectangle2D

```public Rectangle2D(double x,
double y,
Dimension2D size)```
Creates a new instance of Rectangle at position (x, y) and with predefine dimension
Parameters:
`x` - the x coordinate of the rectangle
`y` - the y coordinate of the rectangle
`size` - the `Dimension` of the rectangle
• #### Rectangle2D

```public Rectangle2D(double x,
double y,
double w,
double h)```
Creates a new instance of Rectangle at position (x, y) and with predefine width and height
Parameters:
`x` - the x coordinate of the rectangle
`y` - the y coordinate of the rectangle
`w` - the width of the rectangle
`h` - the height of the rectangle
• #### Rectangle2D

`public Rectangle2D(Rectangle2D rect)`
A copy Constructor
Parameters:
`rect` - the Rectangle to copy
• ### Method Detail

• #### setBounds

```public void setBounds(double x,
double y,
double w,
double h)```
Helper method to set coordinates
• #### getWidth

`public double getWidth()`
Convenience method for getSize().getWidth();
Returns:
width
• #### setWidth

`public void setWidth(double w)`
Convenience method for getSize().setWidth();
Parameters:
`w` - the width
• #### setHeight

`public void setHeight(double h)`
Convenience method for getSize().setHeight();
Parameters:
`h` - the height
• #### getHeight

`public double getHeight()`
Convenience method for getSize().getHeight();
Returns:
height
• #### getSize

`public Dimension2D getSize()`
Return the dimension of the rectangle
Returns:
the size of the rectangle
• #### getX

`public double getX()`
Return the x coordinate of the rectangle
Returns:
the x coordinate of the rectangle
• #### getY

`public double getY()`
Return the y coordinate of the rectangle
Returns:
the y coordinate of the rectangle
• #### toString

`public String toString()`
Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method. The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of: getClass().getName() + '@' + Integer.toHexString(hashCode())
Overrides:
`toString` in class `Object`
• #### setX

`public void setX(int x)`
Sets the x position of the rectangle
Parameters:
`x` - the x coordinate of the rectangle
• #### setX

`public void setX(double x)`
Sets the x position of the rectangle as a double.
Parameters:
`x` -
• #### setY

`public void setY(int y)`
Sets the y position of the rectangle
Parameters:
`y` - the y coordinate of the rectangle
• #### setY

`public void setY(double y)`
Sets the y position of the rectangle as a double.
Parameters:
`y` - The y position
• #### contains

`public boolean contains(Rectangle2D rect)`
Checks whether or not this Rectangle entirely contains the specified Rectangle.
Parameters:
`rect` - the specified Rectangle
Returns:
true if the Rectangle is contained entirely inside this Rectangle; false otherwise
• #### contains

```public boolean contains(double rX,
double rY,
double rWidth,
double rHeight)```
Checks whether this Rectangle entirely contains the Rectangle at the specified location (rX, rY) with the specified dimensions (rWidth, rHeight).
Parameters:
`rX` - the specified x coordinate
`rY` - the specified y coordinate
`rWidth` - the width of the Rectangle
`rHeight` - the height of the Rectangle
Returns:
true if the Rectangle specified by (rX, rY, rWidth, rHeight) is entirely enclosed inside this Rectangle; false otherwise.
• #### contains

```public static boolean contains(double x1,
double y1,
double w1,
double h1,
double x2,
double y2,
double w2,
double h2)```
Checks wheather the 2nd rectangle is contained in the first rectangle
Parameters:
`x1` - first rect x
`y1` - first rect y
`w1` - first rect w
`h1` - first rect h
`x2` - second rect x
`y2` - second rect y
`w2` - second rect w
`h2` - second rect h
Returns:
true if x2, y2, w2, h2 is contained in x1, y1, w1, h1
• #### contains

```public boolean contains(double rX,
double rY)```
Checks whether or not this Rectangle contains the point at the specified location (rX, rY).
Parameters:
`rX` - the specified x coordinate
`rY` - the specified y coordinate
Returns:
true if the point (rX, rY) is inside this Rectangle; false otherwise.
• #### intersection

```public Rectangle2D intersection(double rX,
double rY,
double rW,
double rH)```
Returns a rectangle that intersects the given rectangle with this rectangle
Parameters:
`rX` - rectangle to intersect with this rectangle
`rY` - rectangle to intersect with this rectangle
`rW` - rectangle to intersect with this rectangle
`rH` - rectangle to intersect with this rectangle
Returns:
the intersection
• #### intersection

```public static void intersection(double rrX,
double rrY,
double rrW,
double rrH,
double rtx1,
double rty1,
double rtw2,
double rth2,
Rectangle2D dest)```
Returns a rectangle that intersects the given rectangle with this rectangle
Parameters:
`rrX` - rectangle to intersect with this rectangle
`rrY` - rectangle to intersect with this rectangle
`rrW` - rectangle to intersect with this rectangle
`rrH` - rectangle to intersect with this rectangle
`rtx1` - rectangle to intersect with this rectangle
`rty1` - rectangle to intersect with this rectangle
`rtw2` - rectangle to intersect with this rectangle
`rth2` - rectangle to intersect with this rectangle
`dest` - result of the intersection are stored here
• #### intersection

`public Rectangle2D intersection(Rectangle2D r)`
Returns a rectangle that intersects the given rectangle with this rectangle
Parameters:
`r` - rectangle to intersect with this rectangle
Returns:
the intersection
• #### intersects

```public boolean intersects(double x,
double y,
double width,
double height)```
Determines whether or not this Rectangle and the specified Rectangle location (x, y) with the specified dimensions (width, height), intersect. Two rectangles intersect if their intersection is nonempty.
Parameters:
`x` - the specified x coordinate
`y` - the specified y coordinate
`width` - the width of the Rectangle
`height` - the height of the Rectangle
Returns:
true if the specified Rectangle and this Rectangle intersect; false otherwise.
• #### intersects

`public boolean intersects(Rectangle2D rect)`
Determines whether or not this Rectangle and the specified Rectangle location (x, y) with the specified dimensions (width, height), intersect. Two rectangles intersect if their intersection is nonempty.
Parameters:
`rect` - the Rectangle to check intersection with
Returns:
true if the specified Rectangle and this Rectangle intersect; false otherwise.
• #### intersects

```public static boolean intersects(double tx,
double ty,
double tw,
double th,
double x,
double y,
double width,
double height)```
Helper method allowing us to determine if two coordinate sets intersect. This saves us the need of creating a rectangle object for a quick calculation
Parameters:
`tx` - x of first rectangle
`ty` - y of first rectangle
`tw` - width of first rectangle
`th` - height of first rectangle
`x` - x of second rectangle
`y` - y of second rectangle
`width` - width of second rectangle
`height` - height of second rectangle
Returns:
true if the rectangles intersect
• #### getPathIterator

`public PathIterator getPathIterator(Transform m)`
{Gets an iterator where all points are transformed by the provided transform.

Note: If `Transform.isSupported()` is false, then using this iterator will throw a Runtime Exception.

}
Specified by:
`getPathIterator` in interface `Shape`
Returns:
A PathIterator where points are transformed by the provided transform.
• #### getPathIterator

`public PathIterator getPathIterator()`
{Gets an iterator to walk all of the path segments of the shape.}
Specified by:
`getPathIterator` in interface `Shape`
Returns:
A PathIterator that can iterate over the path segments of the shape.
• #### getBounds

`public Rectangle getBounds()`
{Returns the bounding rectangle for the shape. This should be the smallest rectangle such that the all path segments in the shape are contained within it.}
Specified by:
`getBounds` in interface `Shape`
Returns:
A `Rectangle` that comprises the bounds of the shape.
• #### getBounds2D

`public float[] getBounds2D()`
{Gets the bounds of the shape as a 4-element array representing the (x,y,width,height) tuple.}
Specified by:
`getBounds2D` in interface `Shape`
Returns:
[x, y, width, height] bounds of this shape.
• #### isRectangle

`public boolean isRectangle()`
{Checks if this shape is a rectangle. A Shape is a rectangle if it is a closed quadrilateral composed of two vertical lines and two horizontal lines. If all points have integer coordinates, and this returns true, then getBounds() should return an equivalent rectangle to the shape itself.}
Specified by:
`isRectangle` in interface `Shape`
Returns:
True if shape is a rectangle.
• #### contains

```public boolean contains(int x,
int y)```
Description copied from interface: `Shape`
Checks if the shape contains the given point.
Specified by:
`contains` in interface `Shape`
Parameters:
`x` - The x-coordinate of the point to test.
`y` - The y-coordinate of the point to test.
Returns:
True if (x, y) is inside the shape.
• #### intersection

`public Shape intersection(Rectangle rect)`
Description copied from interface: `Shape`
Returns the shape formed by the intersection of this shape and the provided rectangle.
Specified by:
`intersection` in interface `Shape`
Parameters:
`rect` - A rectangle with which to form an intersection.
Returns:
The shape formed by intersecting the current shape with the provided rectangle.
• #### translate

```public void translate(double x,
double y)```