From 2aca4d22ec80bd91691f836ed56782b69c424c63 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Tue, 19 Aug 2025 10:33:18 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A4=8C=20=EC=83=81=ED=83=9C=EC=97=90=20?= =?UTF-8?q?=EB=94=B0=EB=9D=BC=20=EA=B7=B8=EB=A6=AC=EB=93=9C=20=EB=B3=B5?= =?UTF-8?q?=EC=82=AC,=20=EC=9D=B4=EB=8F=99=20=EC=8B=9C=20=EC=9E=98?= =?UTF-8?q?=EB=A6=AC=EB=8A=94=20=ED=98=84=EC=83=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/floor-plan/modal/grid/GridCopy.jsx | 10 +++++----- src/components/floor-plan/modal/grid/GridMove.jsx | 10 ++++------ src/hooks/useCanvas.js | 2 +- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/components/floor-plan/modal/grid/GridCopy.jsx b/src/components/floor-plan/modal/grid/GridCopy.jsx index 805cf186..84eddb15 100644 --- a/src/components/floor-plan/modal/grid/GridCopy.jsx +++ b/src/components/floor-plan/modal/grid/GridCopy.jsx @@ -5,9 +5,9 @@ import { useRecoilValue } from 'recoil' import { contextPopupPositionState } from '@/store/popupAtom' import { useState } from 'react' import { canvasState, currentObjectState } from '@/store/canvasAtom' -import { useGrid } from '@/hooks/common/useGrid' import { gridColorState } from '@/store/gridAtom' import { gridDisplaySelector } from '@/store/settingAtom' + const GRID_PADDING = 5 export default function GridCopy(props) { const contextPopupPosition = useRecoilValue(contextPopupPositionState) @@ -25,10 +25,10 @@ export default function GridCopy(props) { } const copy = (object, length) => { - const lineStartX = object.direction === 'vertical' ? object.x1 + length : 0 - const lineEndX = object.direction === 'vertical' ? object.x2 + length : canvas.width - const lineStartY = object.direction === 'vertical' ? 0 : object.y1 + length - const lineEndY = object.direction === 'vertical' ? canvas.width : object.y1 + length + const lineStartX = object.direction === 'vertical' ? object.x1 + length : object.x1 + const lineEndX = object.direction === 'vertical' ? object.x2 + length : object.x2 + const lineStartY = object.direction === 'vertical' ? object.y1 : object.y1 + length + const lineEndY = object.direction === 'vertical' ? object.y2 : object.y1 + length const line = new fabric.Line([lineStartX, lineStartY, lineEndX, lineEndY], { stroke: gridColor, diff --git a/src/components/floor-plan/modal/grid/GridMove.jsx b/src/components/floor-plan/modal/grid/GridMove.jsx index 52084e00..eb83d2f1 100644 --- a/src/components/floor-plan/modal/grid/GridMove.jsx +++ b/src/components/floor-plan/modal/grid/GridMove.jsx @@ -3,11 +3,9 @@ import { useMessage } from '@/hooks/useMessage' import { usePopup } from '@/hooks/usePopup' import { useRecoilState, useRecoilValue } from 'recoil' import { contextPopupPositionState } from '@/store/popupAtom' -import { useCanvas } from '@/hooks/useCanvas' import { canvasState, currentObjectState } from '@/store/canvasAtom' import { useEffect, useState } from 'react' import { useSwal } from '@/hooks/useSwal' -import { set } from 'react-hook-form' export default function GridMove(props) { const contextPopupPosition = useRecoilValue(contextPopupPositionState) @@ -70,10 +68,10 @@ export default function GridMove(props) { const move = (object, x, y) => { object.set({ ...object, - x1: object.direction === 'vertical' ? object.x1 + x : 0, - x2: object.direction === 'vertical' ? object.x1 + x : canvas.width, - y1: object.direction === 'vertical' ? 0 : object.y1 + y, - y2: object.direction === 'vertical' ? canvas.height : object.y1 + y, + x1: object.direction === 'vertical' ? object.x1 + x : object.x1, + x2: object.direction === 'vertical' ? object.x1 + x : object.x2, + y1: object.direction === 'vertical' ? object.y1 : object.y1 + y, + y2: object.direction === 'vertical' ? object.y2 : object.y1 + y, }) } diff --git a/src/hooks/useCanvas.js b/src/hooks/useCanvas.js index 5dc29c0d..679b17fa 100644 --- a/src/hooks/useCanvas.js +++ b/src/hooks/useCanvas.js @@ -72,7 +72,7 @@ export function useCanvas(id) { const visibleBottom = visibleTop + canvasHeight / currentZoom // tempGrid 라인들을 찾아서 크기 조정 - const tempGridLines = canvas.getObjects().filter((obj) => ['tempGrid', 'lineGrid'].includes(obj.name)) + const tempGridLines = canvas.getObjects().filter((obj) => ['tempGrid', 'lineGrid', 'mouseLine'].includes(obj.name)) tempGridLines.forEach((line) => { if (line.direction === 'vertical') {