openfl
Version:
A fast, productive library for 2D cross-platform development.
382 lines (318 loc) • 12.9 kB
TypeScript
import Point from "./Point";
declare namespace openfl.geom {
/**
* 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.
*/
export class Rectangle {
/**
* The sum of the `y` and `height` properties.
*/
public bottom:number;
protected get_bottom ():number;
protected set_bottom (value:number):number;
/**
* The location of the Rectangle object's bottom-right corner, determined by
* the values of the `right` and `bottom` properties.
*/
public bottomRight:Point;
protected get_bottomRight ():Point;
protected set_bottomRight (value:Point):Point;
/**
* 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.
*/
public height:number;
/**
* 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.
*/
public left:number;
protected get_left ():number;
protected set_left (value:number):number;
/**
* The sum of the `x` and `width` properties.
*/
public right:number;
protected get_right ():number;
protected set_right (value:number):number;
/**
* The size of the Rectangle object, expressed as a Point object with the
* values of the `width` and `height` properties.
*/
public size:Point;
protected get_size ():Point;
protected set_size (value:Point):Point;
/**
* 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.
*/
public top:number;
protected get_top ():number;
protected set_top (value:number):number;
/**
* The location of the Rectangle object's top-left corner, determined by the
* _x_ and _y_ coordinates of the point.
*/
public topLeft:Point;
protected get_topLeft ():Point;
protected set_topLeft (value:Point):Point;
/**
* 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.
*/
public width:number;
/**
* 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.
*/
public x:number;
/**
* 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.
*/
public y:number;
/**
* 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.
*
* @param x The _x_ coordinate of the top-left corner of the
* rectangle.
* @param y The _y_ coordinate of the top-left corner of the
* rectangle.
* @param width The width of the rectangle, in pixels.
* @param height The height of the rectangle, in pixels.
*/
public constructor (x?:number, y?:number, width?:number, height?:number);
/**
* Returns a new Rectangle object with the same values for the
* `x`, `y`, `width`, and
* `height` properties as the original Rectangle object.
*
* @return A new Rectangle object with the same values for the
* `x`, `y`, `width`, and
* `height` properties as the original Rectangle object.
*/
public clone ():Rectangle;
/**
* Determines whether the specified point is contained within the rectangular
* region defined by this Rectangle object.
*
* @param x The _x_ coordinate(horizontal position) of the point.
* @param y The _y_ coordinate(vertical position) of the point.
* @return A value of `true` if the Rectangle object contains the
* specified point; otherwise `false`.
*/
public contains (x:number, y:number):boolean;
/**
* 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.
*
* @param point The point, as represented by its _x_ and _y_
* coordinates.
* @return A value of `true` if the Rectangle object contains the
* specified point; otherwise `false`.
*/
public containsPoint (point:Point):boolean;
/**
* 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.
*
* @param rect The Rectangle object being checked.
* @return A value of `true` if the Rectangle object that you
* specify is contained by this Rectangle object; otherwise
* `false`.
*/
public containsRect (rect:Rectangle):boolean;
public copyFrom (sourceRect:Rectangle):void;
/**
* 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.
*
* @param toCompare The rectangle to compare to this Rectangle object.
* @return 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`.
*/
public equals (toCompare:Rectangle):boolean;
/**
* 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.
*
* @param dx 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:
* @param dy 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:
*/
public inflate (dx:number, dy:number):void;
/**
* 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:
*
* @param 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.
*/
public inflatePoint (point:Point):void;
/**
* 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.
*
* @param toIntersect The Rectangle object to compare against to see if it
* intersects with this Rectangle object.
* @return 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.
*/
public intersection (toIntersect:Rectangle):Rectangle;
/**
* 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.
*
* @param toIntersect The Rectangle object to compare against this Rectangle
* object.
* @return A value of `true` if the specified object intersects
* with this Rectangle object; otherwise `false`.
*/
public intersects (toIntersect:Rectangle):boolean;
/**
* Determines whether or not this Rectangle object is empty.
*
* @return A value of `true` if the Rectangle object's width or
* height is less than or equal to 0; otherwise `false`.
*/
public isEmpty ():boolean;
/**
* Adjusts the location of the Rectangle object, as determined by its
* top-left corner, by the specified amounts.
*
* @param dx Moves the _x_ value of the Rectangle object by this amount.
* @param dy Moves the _y_ value of the Rectangle object by this amount.
*/
public offset (dx:number, dy:number):void;
/**
* 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.
*
* @param point A Point object to use to offset this Rectangle object.
*/
public offsetPoint (point:Point):void;
/**
* 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.
*
*/
public setEmpty ():void;
public setTo (xa:number, ya:number, widtha:number, heighta:number):void;
public toString ():string;
/**
* 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);`
*
* @param toUnion A Rectangle object to add to this Rectangle object.
* @return A new Rectangle object that is the union of the two rectangles.
*/
public union (toUnion:Rectangle):Rectangle;
}
}
export default openfl.geom.Rectangle;