캔버스 드래그 오류 수정

This commit is contained in:
kjs 2025-10-24 10:40:12 +09:00
parent dc17988466
commit 96252270d7
1 changed files with 8 additions and 6 deletions

View File

@ -3246,9 +3246,10 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
const rect = canvasRef.current?.getBoundingClientRect(); const rect = canvasRef.current?.getBoundingClientRect();
if (!rect) return; if (!rect) return;
// zoom 스케일을 고려한 좌표 변환
const startPoint = { const startPoint = {
x: event.clientX - rect.left, x: (event.clientX - rect.left) / zoomLevel,
y: event.clientY - rect.top, y: (event.clientY - rect.top) / zoomLevel,
z: 1, z: 1,
}; };
@ -3259,7 +3260,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
wasSelecting: false, wasSelecting: false,
}); });
}, },
[dragState.isDragging], [dragState.isDragging, zoomLevel],
); );
// 드래그 선택 업데이트 // 드래그 선택 업데이트
@ -3268,9 +3269,10 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
if (!selectionDrag.isSelecting || !canvasRef.current) return; if (!selectionDrag.isSelecting || !canvasRef.current) return;
const rect = canvasRef.current.getBoundingClientRect(); const rect = canvasRef.current.getBoundingClientRect();
// zoom 스케일을 고려한 좌표 변환
const currentPoint = { const currentPoint = {
x: event.clientX - rect.left, x: (event.clientX - rect.left) / zoomLevel,
y: event.clientY - rect.top, y: (event.clientY - rect.top) / zoomLevel,
z: 1, z: 1,
}; };
@ -3310,7 +3312,7 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
selectedComponents: selectedIds, selectedComponents: selectedIds,
})); }));
}, },
[selectionDrag.isSelecting, selectionDrag.startPoint, layout.components], [selectionDrag.isSelecting, selectionDrag.startPoint, layout.components, zoomLevel],
); );
// 드래그 선택 종료 // 드래그 선택 종료