From 2f2848bbff4f29cc6b7a35a5e8494ba2f5191d96 Mon Sep 17 00:00:00 2001 From: Christopher Chedeau Date: Thu, 2 Jan 2020 13:36:59 -0800 Subject: [PATCH] Hit test --- src/index.tsx | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index d1383f3ca..152c5a986 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -24,14 +24,14 @@ function distanceBetweenPointAndSegment( x2: number, y2: number ) { - var A = x - x1; - var B = y - y1; - var C = x2 - x1; - var D = y2 - y1; + const A = x - x1; + const B = y - y1; + const C = x2 - x1; + const D = y2 - y1; - var dot = A * C + B * D; - var lenSquare = C * C + D * D; - var param = -1; + const dot = A * C + B * D; + const lenSquare = C * C + D * D; + let param = -1; if (lenSquare !== 0) { // in case of 0 length line param = dot / lenSquare; @@ -534,6 +534,12 @@ class App extends React.Component<{}, AppState> { return isSelected; }); + // deselect everything except target element to-be-selected + elements.forEach(element => { + if (element === selectedElement) return; + element.isSelected = false; + }); + if (selectedElement) { this.setState({ draggingElement: selectedElement }); } else {