flash.geom

# Rectangle - AS3

Package | flash.geom
Class | public class Rectangle
Inheritance | Rectangle Object
Subclasses | RoundedRectangle

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

A Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height.

The `x`, `y`, `width`, and `height` properties of the Rectangle class are independent of each other; changing the value of one property has no effect on the others. However, the `right` and `bottom` properties are integrally related to those four properties. For example, if you change the value of the `right` property, the value of the `width` property changes; if you change the `bottom` property, the value of the `height` property changes.

The following methods and properties use Rectangle objects:

- The `applyFilter()`, `colorTransform()`, `copyChannel()`, `copyPixels()`, `draw()`, `fillRect()`, `generateFilterRect()`, `getColorBoundsRect()`, `getPixels()`, `merge()`, `paletteMap()`, `pixelDisolve()`, `setPixels()`, and `threshold()` methods, and the `rect` property of the BitmapData class
- The `getBounds()` and `getRect()` methods, and the `scrollRect` and `scale9Grid` properties of the DisplayObject class
- The `getCharBoundaries()` method of the TextField class
- The `pixelBounds` property of the Transform class
- The `bounds` parameter for the `startDrag()` method of the Sprite class
- The `printArea` parameter of the `addPage()` method of the PrintJob class

You can use the `new Rectangle()` constructor to create a Rectangle object.

Note: The Rectangle class does not define a rectangular Shape display object. To draw a rectangular Shape object onscreen, use the `drawRect()` method of the Graphics class.

View the examples

More examples

Resizing and repositioning Rectangle objects
Finding unions and intersections of Rectangle objects
Setting size, scale, and orientation

Learn more

Using Rectangle objects

Related API Elements

flash.display.DisplayObject.scrollRect
flash.display.BitmapData
flash.display.DisplayObject
flash.display.NativeWindow
flash.text.TextField.getCharBoundaries()
flash.geom.Transform.pixelBounds
flash.display.Sprite.startDrag()
flash.printing.PrintJob.addPage()

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | bottom : Number The sum of the y and height properties. | Rectangle
|  | bottomRight : Point The location of the Rectangle object's bottom-right corner, determined by the values of the right and bottom properties. | Rectangle
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | height : Number The height of the rectangle, in pixels. | Rectangle
|  | left : Number The x coordinate of the top-left corner of the rectangle. | Rectangle
|  | right : Number The sum of the x and width properties. | Rectangle
|  | size : Point The size of the Rectangle object, expressed as a Point object with the values of the width and height properties. | Rectangle
|  | top : Number The y coordinate of the top-left corner of the rectangle. | Rectangle
|  | topLeft : Point The location of the Rectangle object's top-left corner, determined by the x and y coordinates of the point. | Rectangle
|  | width : Number The width of the rectangle, in pixels. | Rectangle
|  | x : Number The x coordinate of the top-left corner of the rectangle. | Rectangle
|  | y : Number The y coordinate of the top-left corner of the rectangle. | Rectangle

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | Rectangle(x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0) Creates a new Rectangle object with the top-left corner specified by the x and y parameters and with the specified width and height parameters. | Rectangle
|  | clone():Rectangle Returns a new Rectangle object with the same values for the x, y, width, and height properties as the original Rectangle object. | Rectangle
|  | contains(x:Number, y:Number):Boolean Determines whether the specified point is contained within the rectangular region defined by this Rectangle object. | Rectangle
|  | containsPoint(point:Point):Boolean Determines whether the specified point is contained within the rectangular region defined by this Rectangle object. | Rectangle
|  | containsRect(rect:Rectangle):Boolean Determines whether the Rectangle object specified by the rect parameter is contained within this Rectangle object. | Rectangle
|  | copyFrom(sourceRect:Rectangle):void Copies all of rectangle data from the source Rectangle object into the calling Rectangle object. | Rectangle
|  | equals(toCompare:Rectangle):Boolean Determines whether the object specified in the toCompare parameter is equal to this Rectangle object. | Rectangle
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | inflate(dx:Number, dy:Number):void Increases the size of the Rectangle object by the specified amounts, in pixels. | Rectangle
|  | inflatePoint(point:Point):void Increases the size of the Rectangle object. | Rectangle
|  | intersection(toIntersect:Rectangle):Rectangle If the Rectangle object specified in the toIntersect parameter intersects with this Rectangle object, returns the area of intersection as a Rectangle object. | Rectangle
|  | intersects(toIntersect:Rectangle):Boolean Determines whether the object specified in the toIntersect parameter intersects with this Rectangle object. | Rectangle
|  | isEmpty():Boolean Determines whether or not this Rectangle object is empty. | Rectangle
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | offset(dx:Number, dy:Number):void Adjusts the location of the Rectangle object, as determined by its top-left corner, by the specified amounts. | Rectangle
|  | offsetPoint(point:Point):void Adjusts the location of the Rectangle object using a Point object as a parameter. | Rectangle
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setEmpty():void Sets all of the Rectangle object's properties to 0. | Rectangle
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | setTo(xa:Number, ya:Number, widtha:Number, heighta:Number):void Sets the members of Rectangle to the specified values | Rectangle
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Builds and returns a string that lists the horizontal and vertical positions and the width and height of the Rectangle object. | Rectangle
|  | union(toUnion:Rectangle):Rectangle Adds two rectangles together to create a new Rectangle object, by filling in the horizontal and vertical space between the two rectangles. | Rectangle
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

### bottom

property

`bottom:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The sum of the `y` and `height` properties.

Implementation
`public function get bottom():Number`
`public function set bottom(value:Number):void`

More examples

Using Rectangle objects

Related API Elements

y
height

### bottomRight

property

`bottomRight:Point`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The location of the Rectangle object's bottom-right corner, determined by the values of the `right` and `bottom` properties.

Implementation
`public function get bottomRight():Point`
`public function set bottomRight(value:Point):void`

Related API Elements

flash.geom.Point

### height

property

`public var height:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The height of the rectangle, in pixels. Changing the `height` value of a Rectangle object has no effect on the `x`, `y`, and `width` properties.

More examples

Using Rectangle objects

Related API Elements

x
y
height

### left

property

`left:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The x coordinate of the top-left corner of the rectangle. Changing the `left` property of a Rectangle object has no effect on the `y` and `height` properties. However it does affect the `width` property, whereas changing the `x` value does not affect the `width` property.

The value of the `left` property is equal to the value of the `x` property.

Implementation
`public function get left():Number`
`public function set left(value:Number):void`

More examples

Using Rectangle objects

Related API Elements

x
y
width
height

### right

property

`right:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The sum of the `x` and `width` properties.

Implementation
`public function get right():Number`
`public function set right(value:Number):void`

More examples

Using Rectangle objects

Related API Elements

x
width

### size

property

`size:Point`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The size of the Rectangle object, expressed as a Point object with the values of the `width` and `height` properties.

Implementation
`public function get size():Point`
`public function set size(value:Point):void`

Related API Elements

flash.geom.Point

### top

property

`top:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The y coordinate of the top-left corner of the rectangle. Changing the `top` property of a Rectangle object has no effect on the `x` and `width` properties. However it does affect the `height` property, whereas changing the `y` value does not affect the `height` property.

The value of the `top` property is equal to the value of the `y` property.

Implementation
`public function get top():Number`
`public function set top(value:Number):void`

More examples

Using Rectangle objects

Related API Elements

x
y
width
height

### topLeft

property

`topLeft:Point`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The location of the Rectangle object's top-left corner, determined by the x and y coordinates of the point.

Implementation
`public function get topLeft():Point`
`public function set topLeft(value:Point):void`

Related API Elements

flash.geom.Point
x
y

### width

property

`public var width:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The width of the rectangle, in pixels. Changing the `width` value of a Rectangle object has no effect on the `x`, `y`, and `height` properties.

More examples

Using Rectangle objects

Related API Elements

x
y
height

### x

property

`public var x:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The x coordinate of the top-left corner of the rectangle. Changing the value of the `x` property of a Rectangle object has no effect on the `y`, `width`, and `height` properties.

The value of the `x` property is equal to the value of the `left` property.

More examples

Using Rectangle objects

Related API Elements

left

### y

property

`public var y:Number`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

The y coordinate of the top-left corner of the rectangle. Changing the value of the `y` property of a Rectangle object has no effect on the `x`, `width`, and `height` properties.

The value of the `y` property is equal to the value of the `top` property.

More examples

Using Rectangle objects

Related API Elements

x
width
height
top
Constructor Detail

### Rectangle

()
Constructor

`public function Rectangle(x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0)`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Creates a new Rectangle object with the top-left corner specified by the `x` and `y` parameters and with the specified `width` and `height` parameters. If you call this function without parameters, a rectangle with `x`, `y`, `width`, and `height` properties set to 0 is created.

Parameters

| `x:Number` (default = `0`)`` — The x coordinate of the top-left corner of the rectangle.
| `y:Number` (default = `0`)`` — The y coordinate of the top-left corner of the rectangle.
| `width:Number` (default = `0`)`` — The width of the rectangle, in pixels.
| `height:Number` (default = `0`)`` — The height of the rectangle, in pixels.

Related API Elements

x
y
width
height
Method Detail

### clone

()
method

`public function clone():Rectangle`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Returns a new Rectangle object with the same values for the `x`, `y`, `width`, and `height` properties as the original Rectangle object.

Returns

| `Rectangle` — A new Rectangle object with the same values for the `x`, `y`, `width`, and `height` properties as the original Rectangle object.

Related API Elements

x
y
width
height

### contains

()
method

`public function contains(x:Number, y:Number):Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Determines whether the specified point is contained within the rectangular region defined by this Rectangle object.

Parameters

| `x:Number` — The x coordinate (horizontal position) of the point.
| `y:Number` — The y coordinate (vertical position) of the point.

Returns

| `Boolean` — A value of `true` if the Rectangle object contains the specified point; otherwise `false`.

Related API Elements

flash.geom.Point

### containsPoint

()
method

`public function containsPoint(point:Point):Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Determines whether the specified point is contained within the rectangular region defined by this Rectangle object. This method is similar to the `Rectangle.contains()` method, except that it takes a Point object as a parameter.

Parameters

| `point:Point` — The point, as represented by its x and y coordinates.

Returns

| `Boolean` — A value of `true` if the Rectangle object contains the specified point; otherwise `false`.

Related API Elements

contains()
flash.geom.Point

### containsRect

()
method

`public function containsRect(rect:Rectangle):Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Determines whether the Rectangle object specified by the `rect` parameter is contained within this Rectangle object. A Rectangle object is said to contain another if the second Rectangle object falls entirely within the boundaries of the first.

Parameters

| `rect:Rectangle` — The Rectangle object being checked.

Returns

| `Boolean` — A value of `true` if the Rectangle object that you specify is contained by this Rectangle object; otherwise `false`.

### copyFrom

()
method

`public function copyFrom(sourceRect:Rectangle):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.0, Flash Lite 4

Copies all of rectangle data from the source Rectangle object into the calling Rectangle object.

Parameters

| `sourceRect:Rectangle` — The Rectangle object from which to copy the data.

### equals

()
method

`public function equals(toCompare:Rectangle):Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Determines whether the object specified in the `toCompare` parameter is equal to this Rectangle object. This method compares the `x`, `y`, `width`, and `height` properties of an object against the same properties of this Rectangle object.

Parameters

| `toCompare:Rectangle` — The rectangle to compare to this Rectangle object.

Returns

| `Boolean` — A value of `true` if the object has exactly the same values for the `x`, `y`, `width`, and `height` properties as this Rectangle object; otherwise `false`.

Related API Elements

x
y
width
height

### inflate

()
method

`public function inflate(dx:Number, dy:Number):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Player 9, Flash Lite 4

Increases the size of the Rectangle object by the specified amounts, in pixels. The center point of the Rectangle object stays the same, and its size increases to the left and right by the `dx` value, and to the top and the bottom by the `dy` value.

Parameters

| `dx:Number` — The value to be added to the left and the right of the Rectangle object. The following equation is used to calculate the new width and position of the rectangle:
        x -= dx;
        width += 2 * dx;
Copy
| `dy:Number` — The value to be added to the top and the bottom of the Rectangle. The following equation is used to calculate the new height and position of the rectangle:
        y -= dy;
        height += 2 * dy;
Copy

More examples

Using Rectangle objects

Related API Elements

x
y

### inflatePoint

()
method

`public function inflatePoint(point:Point):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Increases the size of the Rectangle object. This method is similar to the `Rectangle.inflate()` method except it takes a Point object as a parameter.

The following two code examples give the same result:

Copy

         var rect1:Rectangle = new Rectangle(0,0,2,5);
         rect1.inflate(2,2)

Copy

         var rect1:Rectangle = new Rectangle(0,0,2,5);
         var pt1:Point = new Point(2,2);
         rect1.inflatePoint(pt1)

Parameters

| `point:Point` — The `x` property of this Point object is used to increase the horizontal dimension of the Rectangle object. The `y` property is used to increase the vertical dimension of the Rectangle object.

More examples

Using Rectangle objects

Related API Elements

flash.geom.Point

### intersection

()
method

`public function intersection(toIntersect:Rectangle):Rectangle`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

If the Rectangle object specified in the `toIntersect` parameter intersects with this Rectangle object, returns the area of intersection as a Rectangle object. If the rectangles do not intersect, this method returns an empty Rectangle object with its properties set to 0.

Parameters

| `toIntersect:Rectangle` — The Rectangle object to compare against to see if it intersects with this Rectangle object.

Returns

| `Rectangle` — A Rectangle object that equals the area of intersection. If the rectangles do not intersect, this method returns an empty Rectangle object; that is, a rectangle with its `x`, `y`, `width`, and `height` properties set to 0.

More examples

Using Rectangle objects

### intersects

()
method

`public function intersects(toIntersect:Rectangle):Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Determines whether the object specified in the `toIntersect` parameter intersects with this Rectangle object. This method checks the `x`, `y`, `width`, and `height` properties of the specified Rectangle object to see if it intersects with this Rectangle object.

Parameters

| `toIntersect:Rectangle` — The Rectangle object to compare against this Rectangle object.

Returns

| `Boolean` — A value of `true` if the specified object intersects with this Rectangle object; otherwise `false`.

More examples

Using Rectangle objects

Related API Elements

x
y
width
height

### isEmpty

()
method

`public function isEmpty():Boolean`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Determines whether or not this Rectangle object is empty.

Returns

| `Boolean` — A value of `true` if the Rectangle object's width or height is less than or equal to 0; otherwise `false`.

### offset

()
method

`public function offset(dx:Number, dy:Number):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Adjusts the location of the Rectangle object, as determined by its top-left corner, by the specified amounts.

Parameters

| `dx:Number` — Moves the x value of the Rectangle object by this amount.
| `dy:Number` — Moves the y value of the Rectangle object by this amount.

More examples

Using Rectangle objects

### offsetPoint

()
method

`public function offsetPoint(point:Point):void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Adjusts the location of the Rectangle object using a Point object as a parameter. This method is similar to the `Rectangle.offset()` method, except that it takes a Point object as a parameter.

Parameters

| `point:Point` — A Point object to use to offset this Rectangle object.

More examples

Using Rectangle objects

Related API Elements

flash.geom.Point

### setEmpty

()
method

`public function setEmpty():void`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Sets all of the Rectangle object's properties to 0. A Rectangle object is empty if its width or height is less than or equal to 0.

This method sets the values of the `x`, `y`, `width`, and `height` properties to 0.

Related API Elements

x
y
width
height

### setTo

()
method

`public function setTo(xa:Number, ya:Number, widtha:Number, heighta:Number):void`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.0, Flash Lite 4

Sets the members of Rectangle to the specified values

Parameters

| `xa:Number` — the values to set the rectangle to.
| `ya:Number`
| `widtha:Number`
| `heighta:Number`

### toString

()
method

`public function toString():String`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Builds and returns a string that lists the horizontal and vertical positions and the width and height of the Rectangle object.

Returns

| `String` — A string listing the value of each of the following properties of the Rectangle object: `x`, `y`, `width`, and `height`.

Related API Elements

x
y
width
height

### union

()
method

`public function union(toUnion:Rectangle):Rectangle`

Language Version: | ActionScript 3.0

Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4

Adds two rectangles together to create a new Rectangle object, by filling in the horizontal and vertical space between the two rectangles.

Note: The `union()` method ignores rectangles with `0` as the height or width value, such as: `var rect2:Rectangle = new Rectangle(300,300,50,0);`

Parameters

| `toUnion:Rectangle` — A Rectangle object to add to this Rectangle object.

Returns

| `Rectangle` — A new Rectangle object that is the union of the two rectangles.

More examples

Using Rectangle objects
Examples How to use this example
RectangleExample.as
The following example uses the RectangleExample class to create three new Rectangle objects at various x,y coordinates and with various heights and widths and then uses the `trace()` method to confirm that the Rectangle instances were successfully created. Then a Boolean variable `isContained` is assigned to the result of the call to the `containsRect()` method, which determines that the second rectangle does not fully enclose the third rectangle.
Copy

    package {
        import flash.display.Sprite;
        import flash.geom.Rectangle;

        public class RectangleExample extends Sprite {

            public function RectangleExample() {
                var firstRect:Rectangle = new Rectangle();
                trace(firstRect);  // (x=0, y=0, w=0, h=0)
                var secondRect:Rectangle = new Rectangle(1, 3, 11, 13);
                trace(secondRect); // (x=1, y=3, w=11, h=13)
                var thirdRect:Rectangle = new Rectangle(5, 8, 17, 19);
                trace(thirdRect);  // (x=5, y=8, w=17, h=19)
                var isContained:Boolean = secondRect.containsRect(thirdRect);
                trace(isContained); // false
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00