export interface PointLike { x: number; y: number; } export interface RectLike { x: number; y: number; width: number; height: number; } /** * Simple rectangle class with some util functions */ export default class Rect implements RectLike { x: number; y: number; width: number; height: number; constructor(x: number, y: number, w: number, h: number); static fromArgs(...args: [RectLike] | [x: number, y: number, w: number, h: number]): Rect; /** * Resizes this Rect to include the full size of a given second rectangle */ union(r2: RectLike): this; /** * Resizes this Rect to include a given point */ includePoint(x: number, y: number): void; /** * Grows the rectangle with the given dimensions */ inflate(w: number, h: number): void; /** * Resizes this Rect to the area that overlaps a given Rect * width and height will be set to 0 if the intersection does not exist */ intersect(r2: RectLike): void; /** * Returns wether this Rect has at least one pixel overlap with a given Rect */ overlaps(r2: RectLike): boolean; /** * Returns wether a given Rect fits completely inside this Rect * @param r2 */ contains(r2: RectLike): boolean; /** * Returns wether a given point lies inside this Rect */ containsPoint(x: number, y: number): boolean; } //# sourceMappingURL=rect.d.ts.map