From 96252270d79267da18ee0e3a082c07ec18f4df6a Mon Sep 17 00:00:00 2001 From: kjs Date: Fri, 24 Oct 2025 10:40:12 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BA=94=EB=B2=84=EC=8A=A4=20=EB=93=9C?= =?UTF-8?q?=EB=9E=98=EA=B7=B8=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/components/screen/ScreenDesigner.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/frontend/components/screen/ScreenDesigner.tsx b/frontend/components/screen/ScreenDesigner.tsx index b132dd42..edd5c7d0 100644 --- a/frontend/components/screen/ScreenDesigner.tsx +++ b/frontend/components/screen/ScreenDesigner.tsx @@ -3246,9 +3246,10 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD const rect = canvasRef.current?.getBoundingClientRect(); if (!rect) return; + // zoom 스케일을 고려한 좌표 변환 const startPoint = { - x: event.clientX - rect.left, - y: event.clientY - rect.top, + x: (event.clientX - rect.left) / zoomLevel, + y: (event.clientY - rect.top) / zoomLevel, z: 1, }; @@ -3259,7 +3260,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD wasSelecting: false, }); }, - [dragState.isDragging], + [dragState.isDragging, zoomLevel], ); // 드래그 선택 업데이트 @@ -3268,9 +3269,10 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD if (!selectionDrag.isSelecting || !canvasRef.current) return; const rect = canvasRef.current.getBoundingClientRect(); + // zoom 스케일을 고려한 좌표 변환 const currentPoint = { - x: event.clientX - rect.left, - y: event.clientY - rect.top, + x: (event.clientX - rect.left) / zoomLevel, + y: (event.clientY - rect.top) / zoomLevel, z: 1, }; @@ -3310,7 +3312,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD selectedComponents: selectedIds, })); }, - [selectionDrag.isSelecting, selectionDrag.startPoint, layout.components], + [selectionDrag.isSelecting, selectionDrag.startPoint, layout.components, zoomLevel], ); // 드래그 선택 종료