modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
56 lines (55 loc) • 1.47 kB
TypeScript
import type { Vector2Like } from './Vector2';
import { Vector2 } from './Vector2';
export interface RectangleLike {
x: number;
y: number;
width: number;
height: number;
}
/**
* AxisAlignedBoundingBox2D
*/
export declare class Aabb2D implements RectangleLike {
get x(): number;
set x(val: number);
get y(): number;
set y(val: number);
get left(): number;
set left(val: number);
get top(): number;
set top(val: number);
get right(): number;
set right(val: number);
get bottom(): number;
set bottom(val: number);
get width(): number;
set width(val: number);
get height(): number;
set height(val: number);
readonly max: Vector2;
readonly min: Vector2;
readonly size: Vector2;
constructor();
constructor(rect: RectangleLike);
constructor(pointArray: Vector2Like[]);
constructor(min: Vector2Like, size: Vector2Like);
constructor(x: number, y: number, width: number, height: number);
update(): this;
overlapsOnAxis(rect: Aabb2D, axis?: 'horizontal' | 'vertical'): boolean;
containsPoint(point: Vector2Like): boolean;
getIntersectionRect(target: Aabb2D): Aabb2D;
getArea(): number;
toMinmax(): {
min: Vector2;
max: Vector2;
};
toCssStyle(): {
left: string;
top: string;
width: string;
height: string;
};
toArray(): number[];
toJSON(): RectangleLike;
clone(): Aabb2D;
}