Procházet zdrojové kódy

Center first matched node on canvas

Burak Ozarslan před 3 roky
rodič
revize
5f6b97a197
1 změnil soubory, kde provedl 5 přidání a 3 odebrání
  1. 5 3
      src/hooks/useFocusNode.tsx

+ 5 - 3
src/hooks/useFocusNode.tsx

@@ -45,10 +45,12 @@ export const useFocusNode = () => {
 
       const newPositionX =
         (zoomPanPinch.offsetLeft - x) * newScale +
-        firstMatchedNode.getBoundingClientRect().width;
+        zoomPanPinch.clientWidth / 2 -
+        firstMatchedNode.getBoundingClientRect().width / 2;
       const newPositionY =
-        (zoomPanPinch.offsetTop - y) * newScale +
-        firstMatchedNode.getBoundingClientRect().height;
+        (zoomPanPinch.offsetLeft - y) * newScale +
+        zoomPanPinch.clientHeight / 2 -
+        firstMatchedNode.getBoundingClientRect().height / 2;
 
       highlightMatchedNodes(matchedNodes);