All files / app/util math.ts

81.81% Statements 9/11
85.71% Branches 12/14
100% Functions 4/4
75% Lines 6/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23      88x 88x 10x 7x               1x         1x      
export type Point = { x: number, y: number };
export type Rect = { x1: number, y1: number, x2: number, y2: number };
 
export namespace Rect {
  export function contains(r?: Rect, p?: Point) {
    if (!r || !p) return false;
    return (
      p.x >= Math.min(r.x1, r.x2) && p.x <= Math.max(r.x1, r.x2) &&
      p.y >= Math.min(r.y1, r.y2) && p.y <= Math.max(r.y1, r.y2)
    );
  }
}
 
export function relativeX(x: number, el?: any): number {
  Eif (!el) return x + scrollX;
  return relativeX(x - el.offsetLeft, el.offsetParent!);
}
 
export function relativeY(y: number, el?: any): number {
  Eif (!el) return y + scrollY;
  return relativeY(y - el.offsetTop, el.offsetParent!);
}