浏览代码

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);