import { invariant } from "../excalidraw/utils"; import { pointFrom } from "./point"; import { distanceToLineSegment, lineSegment } from "./segment"; import type { GlobalPoint, LocalPoint, Rectangle } from "./types"; export function rectangle
( topLeft: P, bottomRight: P, ): Rectangle
{ return [topLeft, bottomRight] as Rectangle
; } export function rectangleFromPair
( pair: [a: P, b: P], ): Rectangle
{ return pair as Rectangle
; } export function rectangleFromArray
( pointArray: P[], ): Rectangle
{ invariant( pointArray.length === 4, "Point array contains more or less points to create a rectangle from", ); return pointArray as Rectangle
;
}
export function rectangleDistanceFromPoint<
Point extends GlobalPoint | LocalPoint,
>(r: Rectangle