chore: Element center point util (#9298)
All checks were successful
Tests / test (push) Successful in 5m4s

This commit is contained in:
jhanma17dev 2025-04-09 10:04:51 -05:00 committed by GitHub
parent 6fc85022ae
commit dff69e9191
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 49 additions and 78 deletions

View file

@ -1,9 +1,10 @@
import { average } from "@excalidraw/math";
import { average, pointFrom, type GlobalPoint } from "@excalidraw/math";
import type {
ExcalidrawBindableElement,
FontFamilyValues,
FontString,
ExcalidrawElement,
} from "@excalidraw/element/types";
import type {
@ -1201,3 +1202,17 @@ export const escapeDoubleQuotes = (str: string) => {
export const castArray = <T>(value: T | T[]): T[] =>
Array.isArray(value) ? value : [value];
export const elementCenterPoint = (
element: ExcalidrawElement,
xOffset: number = 0,
yOffset: number = 0,
) => {
const { x, y, width, height } = element;
const centerXPoint = x + width / 2 + xOffset;
const centerYPoint = y + height / 2 + yOffset;
return pointFrom<GlobalPoint>(centerXPoint, centerYPoint);
};