From 60907a5a0e1db08473fe261a0300c8a08667a0a1 Mon Sep 17 00:00:00 2001 From: sunub Date: Sat, 19 Apr 2025 17:06:20 +0900 Subject: [PATCH] refactor: Change object Point type to GenericPoint Replaced instances of object literal Point types with the `GenericPoint` type. --- packages/excalidraw/components/App.tsx | 11 ++++++----- packages/excalidraw/types.ts | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 934c4acc0..5c60973d1 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -6913,13 +6913,14 @@ class App extends React.Component { private initialPointerDownState( event: React.PointerEvent, ): PointerDownState { - const [originX, originY] = viewportCoordsToSceneCoords(event, this.state); + const originCoords = viewportCoordsToSceneCoords(event, this.state); + const [originX, originY] = originCoords; const selectedElements = this.scene.getSelectedElements(this.state); const [minX, minY, maxX, maxY] = getCommonBounds(selectedElements); const isElbowArrowOnly = selectedElements.findIndex(isElbowArrow) === 0; return { - origin: pointFrom(originX, originY), + origin: originCoords, withCmdOrCtrl: event[KEYS.CTRL_OR_CMD], originInGrid: tupleToCoors( getGridPoint( @@ -6936,7 +6937,7 @@ class App extends React.Component { event.clientY - this.state.offsetTop, ), // we need to duplicate because we'll be updating this state - lastCoords: pointFrom(originX, originY), + lastCoords: originCoords, originalElements: this.scene .getNonDeletedElements() .reduce((acc, element) => { @@ -6957,14 +6958,14 @@ class App extends React.Component { hasBeenDuplicated: false, hasHitCommonBoundingBoxOfSelectedElements: this.isHittingCommonBoundingBoxOfSelectedElements( - pointFrom(originX, originY), + originCoords, selectedElements, ), }, drag: { hasOccurred: false, offset: null, - origin: { ...origin }, + origin: originCoords, }, eventListeners: { onMove: null, diff --git a/packages/excalidraw/types.ts b/packages/excalidraw/types.ts index 18052305f..2e9360dd7 100644 --- a/packages/excalidraw/types.ts +++ b/packages/excalidraw/types.ts @@ -718,7 +718,7 @@ export type PointerDownState = Readonly<{ // Scrollbar checks scrollbars: ReturnType; // The previous pointer position - lastCoords: { x: number; y: number }; + lastCoords: GenericPoint; // original element frozen snapshots so we can access the original // element attribute values at time of pointerdown originalElements: Map>; @@ -753,10 +753,10 @@ export type PointerDownState = Readonly<{ // Might change during the pointer interaction hasOccurred: boolean; // Might change during the pointer interaction - offset: { x: number; y: number } | null; + offset: GenericPoint | null; // by default same as PointerDownState.origin. On alt-duplication, reset // to current pointer position at time of duplication. - origin: { x: number; y: number }; + origin: GenericPoint; }; // We need to have these in the state so that we can unsubscribe them eventListeners: {