Class Rectangle

java.lang.Object
com.codename1.ui.geom.Rectangle
All Implemented Interfaces:
Shape

public class Rectangle 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
    Description
    Creates a new instance of Rectangle
    Rectangle(int x, int y, int w, int h)
    Creates a new instance of Rectangle at position (x, y) and with predefine width and height
    Rectangle(int x, int y, Dimension size)
    Creates a new instance of Rectangle at position (x, y) and with predefine dimension
    A copy Constructor
  • Method Summary

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

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Rectangle

      public Rectangle()
      Creates a new instance of Rectangle
    • Rectangle

      public Rectangle(int x, int y, Dimension 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

    • Rectangle

      public Rectangle(int x, int y, int w, int 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

    • Rectangle

      public Rectangle(Rectangle rect)

      A copy Constructor

      Parameters
      • rect: the Rectangle to copy
  • Method Details

    • createFromPool

      public static Rectangle createFromPool(int x, int y, int w, int h)

      Creates a rectangle from a Rectangle object pool. This is handy if you need to create a temporary Rectangle that you wish to recycle later.

      When you are done with this object you should return it to the pool using #recycle(com.codename1.ui.geom.Rectangle).

      Parameters
      • x: The x coordinate of the rect.

      • y: The y coordinate of the rect.

      • w: The width of the rect.

      • h: The height of the rect.

      Returns

      A rectangle with the given dimensions.

      See also
      • #recycle(com.codename1.ui.geom.Rectangle)
    • recycle

      public static void recycle(Rectangle r)

      Returns the given rectangle to the object pool.

      Parameters
      • r: The rectangle to recycle.
      See also
      • #createFromPool(int, int, int, int)
    • contains

      public static boolean contains(int x1, int y1, int w1, int h1, int x2, int y2, int w2, int 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

    • intersection

      public static void intersection(int rrX, int rrY, int rrW, int rrH, int rtx1, int rty1, int rtw2, int rth2, Rectangle 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

    • intersects

      public static boolean intersects(int tx, int ty, int tw, int th, int x, int y, int width, int 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

    • setBounds

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

      public int getWidth()

      Convenience method for getSize().getWidth();

      Returns

      width

    • setWidth

      public void setWidth(int w)

      Convenience method for getSize().setWidth();

      Parameters
      • w: the width
    • getHeight

      public int getHeight()

      Convenience method for getSize().getHeight();

      Returns

      height

    • setHeight

      public void setHeight(int h)

      Convenience method for getSize().setHeight();

      Parameters
      • h: the height
    • getSize

      public Dimension getSize()

      Return the dimension of the rectangle

      Returns

      the size of the rectangle

    • getX

      public int getX()

      Return the x coordinate of the rectangle

      Returns

      the x coordinate of the rectangle

    • setX

      public void setX(int x)

      Sets the x position of the rectangle

      Parameters
      • x: the x coordinate of the rectangle
    • getY

      public int getY()

      Return the y coordinate of the rectangle

      Returns

      the y coordinate of the rectangle

    • setY

      public void setY(int y)

      Sets the y position of the rectangle

      Parameters
      • y: the y coordinate of the rectangle
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • contains

      public boolean contains(Rectangle rect)

      Checks whether or not this Rectangle entirely contains the specified Rectangle.

      Parameters
      • rect: the specified Rectangle
      Returns
      Returns:
      true if the Rectangle is contained entirely inside this Rectangle; false otherwise
    • contains

      public boolean contains(int rX, int rY, int rWidth, int 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
      Returns:
      true if the Rectangle specified by (rX, rY, rWidth, rHeight) is entirely enclosed inside this Rectangle; false otherwise.
    • contains

      public boolean contains(int rX, int 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
      Specified by:
      contains in interface Shape
      Returns:
      true if the point (rX, rY) is inside this Rectangle; false otherwise.
    • intersection

      public Rectangle intersection(int rX, int rY, int rW, int rH)

      Returns a rectangle that intersects the given rectangle with this rectangle. If they don't intersect, the resulting rectangle will have a negative width or height.

      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 void intersection(Rectangle input, Rectangle output)
    • intersection

      public Rectangle intersection(Rectangle r)

      Returns a rectangle that intersects the given rectangle with this rectangle

      Parameters
      • r: rectangle to intersect with this rectangle
      Returns

      the intersection

      Specified by:
      intersection in interface Shape
    • intersects

      public boolean intersects(int x, int y, int width, int 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
      Returns:
      true if the specified Rectangle and this Rectangle intersect; false otherwise.
    • intersects

      public boolean intersects(Rectangle 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
      Returns:
      true if the specified Rectangle and this Rectangle intersect; false otherwise.
    • getPathIterator

      public PathIterator getPathIterator(Transform m)

      {

      Gets an iterator where all points are transformed by the provided transform.

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

      Parameters
      • transform
      Returns

      A PathIterator where points are transformed by the provided transform.

      }
      Specified by:
      getPathIterator in interface Shape
    • getPathIterator

      public PathIterator getPathIterator()

      {

      Gets an iterator to walk all of the path segments of the shape.

      Returns

      A PathIterator that can iterate over the path segments of the shape.

      }
      Specified by:
      getPathIterator in interface 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.

      Returns

      A Rectangle that comprises the bounds of the shape.

      }
      Specified by:
      getBounds in interface Shape
    • setBounds

      public void setBounds(Rectangle bounds)

      Sets the bounds of this rectangle.

      Parameters
      • bounds: A rectangle whose bounds will be copied.
      Since

      7.0

    • getBounds2D

      public float[] getBounds2D()

      {

      Gets the bounds of the shape as a 4-element array representing the (x,y,width,height) tuple.

      Returns

      [x, y, width, height] bounds of this shape.

      }
      Specified by:
      getBounds2D in interface 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.

      Returns

      True if shape is a rectangle.

      }
      Specified by:
      isRectangle in interface Shape
    • equals

      public boolean equals(Object obj)
      {}
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      {}
      Overrides:
      hashCode in class Object