import { TransformationOrigin } from "../enums"; import Point, { SimplePoint } from "./Point"; export default class Rect { x: number; y: number; width: number; height: number; constructor(x?: number, y?: number, width?: number, height?: number); get left(): number; get right(): number; get top(): number; get bottom(): number; static fromSimpleRect(source?: SimpleRect): Rect; static fromPoints(p1: SimplePoint, p2: SimplePoint): Rect; static getCenterPoint(source: SimpleRect): Point; static getArea(source: SimpleRect): Rect; static containsX(source: SimpleRect, x: number): boolean; static containsY(source: SimpleRect, y: number): boolean; static containsPoint(source: SimpleRect, target: SimplePoint): boolean; static containsRect(source: SimpleRect, target: SimpleRect): boolean; static intersectsRect(source: SimpleRect, target: SimpleRect): boolean; static translateX(source: SimpleRect, x: number): Rect; static translateY(source: SimpleRect, y: number): Rect; static translateByCoords(source: SimpleRect, x: number, y: number): Rect; static translateByPoint(source: SimpleRect, target: SimplePoint): Rect; static expandWidth(source: SimpleRect, width: number, origin?: TransformationOrigin): Rect; static expandHeight(source: SimpleRect, height: number, origin?: TransformationOrigin): Rect; static expand(source: SimpleRect, width: number, height: number, origin?: TransformationOrigin): Rect; static scaleWidth(source: SimpleRect, width_decimal_percent: number, origin?: TransformationOrigin): Rect; static scaleHeight(source: SimpleRect, height_decimal_percent: number, origin?: TransformationOrigin): Rect; static scale(source: SimpleRect, width_decimal_percent: number, height_decimal_percent: number, origin?: TransformationOrigin): Rect; static union(...rect_list: SimpleRect[]): Rect; clone(): Rect; getCenterPoint(): Point; getArea(): number; containsX(x: number): boolean; containsY(y: number): boolean; containsPoint(point: SimplePoint): boolean; containsRect(rect: SimpleRect): boolean; intersectsRect(rect: SimpleRect): boolean; translateX(x: number): this; translateY(y: number): this; translateByCoords(x: number, y: number): this; translateByPoint(point: SimplePoint): this; expandWidth(width: number, origin?: TransformationOrigin): this; expandHeight(height: number, origin?: TransformationOrigin): this; expand(width: number, height: number, origin?: TransformationOrigin): this; scaleWidth(decimal_percent: number, origin?: TransformationOrigin): this; scaleHeight(decimal_percent: number, origin?: TransformationOrigin): this; scale(width_decimal_percent: number, height_decimal_percent: number, origin?: TransformationOrigin): this; union(...rect_list: SimpleRect[]): this; } export interface SimpleRect { x: number; y: number; width: number; height: number; }