All files / packages/tools/src/utilities/math/ellipse getCanvasEllipseCorners.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 1/1
100% Lines 4/4

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 24 25 26 27                                      50x   10x 10x   10x    
import type { Types } from '@cornerstonejs/core';
 
type canvasCoordinates = [
  Types.Point2, // bottom
  Types.Point2, // top
  Types.Point2, // left
  Types.Point2 // right
];
 
/**
 * It takes the canvas coordinates of the ellipse corners and returns the top left and bottom right
 * corners of it
 *
 * @param ellipseCanvasPoints - The coordinates of the ellipse in the canvas.
 * @returns An array of two points.
 */
export default function getCanvasEllipseCorners(
  ellipseCanvasPoints: canvasCoordinates
): Array<Types.Point2> {
  const [bottom, top, left, right] = ellipseCanvasPoints;
 
  const topLeft = <Types.Point2>[left[0], top[1]];
  const bottomRight = <Types.Point2>[right[0], bottom[1]];
 
  return [topLeft, bottomRight];
}