둘다 체크시도 추가

This commit is contained in:
hyojun.choi 2024-08-23 16:42:17 +09:00
parent 9fa384db0d
commit 3ab518e188

View File

@ -140,6 +140,33 @@ export function useMode() {
let newY = pointer.y
if (isGuideLineMode && isGuideDotMode && mode === Mode.EDIT) {
const closestHorizontalLine = getClosestHorizontalLine(pointer, horizontalLineArray)
const closetVerticalLine = getClosestVerticalLine(pointer, verticalLineArray)
const xDiff = Math.abs(pointer.x - closetVerticalLine.x1)
const yDiff = Math.abs(pointer.y - closestHorizontalLine.y1)
const x = pointer.x - guideLineLength * Math.floor(pointer.x / guideLineLength)
const y = pointer.y - guideLineLength * Math.floor(pointer.y / guideLineLength)
const xRate = x / guideLineLength
const yRate = y / guideLineLength
const isAttachX = xRate >= 0.4 && xRate <= 0.7
const isAttachY = yRate >= 0.4 && yRate <= 0.7
if (isAttachX && isAttachY) {
newX = Math.floor(pointer.x / guideLineLength) * guideLineLength + guideLineLength / 2
newY = Math.floor(pointer.y / guideLineLength) * guideLineLength + guideLineLength / 2
} else {
if (Math.min(xDiff, yDiff) <= 20) {
if (xDiff < yDiff) {
newX = closetVerticalLine.x1
newY = pointer.y
} else {
newX = pointer.x
newY = closestHorizontalLine.y1
}
}
}
} else if (isGuideDotMode && mode === Mode.EDIT) {
const x = pointer.x - guideDotLength * Math.floor(pointer.x / guideDotLength)
const y = pointer.y - guideDotLength * Math.floor(pointer.y / guideDotLength)