|
|
|
@ -744,18 +744,19 @@ export const isHittingContainerStroke = ( |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
const strokeWidth = container.strokeWidth; |
|
|
|
const strokeWidth = container.strokeWidth; |
|
|
|
|
|
|
|
const threshold = 10 / zoom; |
|
|
|
|
|
|
|
|
|
|
|
if (container.type === "ellipse") { |
|
|
|
if (container.type === "ellipse") { |
|
|
|
const threshold = 10 * zoom; |
|
|
|
|
|
|
|
const h = (topLeft[0] + topRight[0]) / 2; |
|
|
|
const h = (topLeft[0] + topRight[0]) / 2; |
|
|
|
const k = (topLeft[1] + bottomLeft[1]) / 2; |
|
|
|
const k = (topLeft[1] + bottomLeft[1]) / 2; |
|
|
|
let a = container.width / 2 + threshold; |
|
|
|
let a = container.width / 2 + strokeWidth / 2 + threshold; |
|
|
|
let b = container.height / 2 + threshold; |
|
|
|
let b = container.height / 2 + strokeWidth / 2 + threshold; |
|
|
|
const checkPointOnOuterEllipse = |
|
|
|
const checkPointOnOuterEllipse = |
|
|
|
Math.pow(counterRotateX - h, 2) / Math.pow(a, 2) + |
|
|
|
Math.pow(counterRotateX - h, 2) / Math.pow(a, 2) + |
|
|
|
Math.pow(counterRotateY - k, 2) / Math.pow(b, 2); |
|
|
|
Math.pow(counterRotateY - k, 2) / Math.pow(b, 2); |
|
|
|
|
|
|
|
|
|
|
|
a = container.width / 2 - strokeWidth - threshold; |
|
|
|
a = container.width / 2 - strokeWidth / 2 - threshold; |
|
|
|
b = container.height / 2 - strokeWidth - threshold; |
|
|
|
b = container.height / 2 - strokeWidth / 2 - threshold; |
|
|
|
|
|
|
|
|
|
|
|
const checkPointOnInnerEllipse = |
|
|
|
const checkPointOnInnerEllipse = |
|
|
|
Math.pow(counterRotateX - h, 2) / Math.pow(a, 2) + |
|
|
|
Math.pow(counterRotateX - h, 2) / Math.pow(a, 2) + |
|
|
|
@ -772,12 +773,11 @@ export const isHittingContainerStroke = ( |
|
|
|
} |
|
|
|
} |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
const threshold = 10 / zoom; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Left Stroke
|
|
|
|
// Left Stroke
|
|
|
|
if ( |
|
|
|
if ( |
|
|
|
counterRotateX >= topLeft[0] - threshold && |
|
|
|
counterRotateX >= topLeft[0] - strokeWidth / 2 - threshold && |
|
|
|
counterRotateX <= topLeft[0] + strokeWidth + threshold && |
|
|
|
counterRotateX <= topLeft[0] + strokeWidth / 2 + threshold && |
|
|
|
counterRotateY >= topLeft[1] - threshold && |
|
|
|
counterRotateY >= topLeft[1] - threshold && |
|
|
|
counterRotateY <= bottomRight[1] + threshold |
|
|
|
counterRotateY <= bottomRight[1] + threshold |
|
|
|
) { |
|
|
|
) { |
|
|
|
@ -787,16 +787,16 @@ export const isHittingContainerStroke = ( |
|
|
|
if ( |
|
|
|
if ( |
|
|
|
counterRotateX >= topLeft[0] - threshold && |
|
|
|
counterRotateX >= topLeft[0] - threshold && |
|
|
|
counterRotateX <= topRight[0] + threshold && |
|
|
|
counterRotateX <= topRight[0] + threshold && |
|
|
|
counterRotateY >= topLeft[1] - threshold && |
|
|
|
counterRotateY >= topLeft[1] - threshold - strokeWidth / 2 && |
|
|
|
counterRotateY <= topLeft[1] + threshold + strokeWidth |
|
|
|
counterRotateY <= topLeft[1] + threshold + strokeWidth / 2 |
|
|
|
) { |
|
|
|
) { |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Right stroke
|
|
|
|
// Right stroke
|
|
|
|
if ( |
|
|
|
if ( |
|
|
|
counterRotateX >= topRight[0] - threshold - strokeWidth && |
|
|
|
counterRotateX >= topRight[0] - threshold - strokeWidth / 2 && |
|
|
|
counterRotateX <= topRight[0] + threshold && |
|
|
|
counterRotateX <= topRight[0] + threshold + strokeWidth / 2 && |
|
|
|
counterRotateY >= topRight[1] - threshold && |
|
|
|
counterRotateY >= topRight[1] - threshold && |
|
|
|
counterRotateY <= bottomRight[1] + threshold |
|
|
|
counterRotateY <= bottomRight[1] + threshold |
|
|
|
) { |
|
|
|
) { |
|
|
|
@ -807,8 +807,8 @@ export const isHittingContainerStroke = ( |
|
|
|
if ( |
|
|
|
if ( |
|
|
|
counterRotateX >= bottomLeft[0] - threshold && |
|
|
|
counterRotateX >= bottomLeft[0] - threshold && |
|
|
|
counterRotateX <= bottomRight[0] + threshold && |
|
|
|
counterRotateX <= bottomRight[0] + threshold && |
|
|
|
counterRotateY >= bottomLeft[1] - threshold - strokeWidth && |
|
|
|
counterRotateY >= bottomLeft[1] - threshold - strokeWidth / 2 && |
|
|
|
counterRotateY <= bottomLeft[1] + threshold |
|
|
|
counterRotateY <= bottomLeft[1] + threshold + strokeWidth / 2 |
|
|
|
) { |
|
|
|
) { |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|