소스 검색

Center first matched node on canvas

Burak Ozarslan 3 년 전
부모
커밋
5f6b97a197
1개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  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);