Browse Source

fix lasertool offset

zsviczian 1 year ago
parent
commit
c65d6506f7

+ 4 - 1
src/components/App.tsx

@@ -1217,7 +1217,10 @@ class App extends React.Component<AppProps, AppState> {
                         <div className="excalidraw-textEditorContainer" />
                         <div className="excalidraw-contextMenuContainer" />
                         <div className="excalidraw-eye-dropper-container" />
-                        <LaserToolOverlay manager={this.laserPathManager} />
+                        <LaserToolOverlay
+                          manager={this.laserPathManager}
+                          appState={this.state}
+                        />
                         {selectedElements.length === 1 &&
                           !this.state.contextMenu &&
                           this.state.showHyperlinkPopup && (

+ 13 - 2
src/components/LaserTool/LaserTool.tsx

@@ -1,12 +1,17 @@
 import { useEffect, useRef } from "react";
 import { LaserPathManager } from "./LaserPathManager";
 import "./LaserToolOverlay.scss";
+import { UIAppState } from "../../types";
 
 type LaserToolOverlayProps = {
   manager: LaserPathManager;
+  appState: UIAppState;
 };
 
-export const LaserToolOverlay = ({ manager }: LaserToolOverlayProps) => {
+export const LaserToolOverlay = ({
+  manager,
+  appState,
+}: LaserToolOverlayProps) => {
   const svgRef = useRef<SVGSVGElement | null>(null);
 
   useEffect(() => {
@@ -20,7 +25,13 @@ export const LaserToolOverlay = ({ manager }: LaserToolOverlayProps) => {
   }, [manager]);
 
   return (
-    <div className="LaserToolOverlay">
+    <div
+      className="LaserToolOverlay"
+      style={{
+        top: `-${appState.offsetTop}px`,
+        left: `-${appState.offsetLeft}px`,
+      }}
+    >
       <svg ref={svgRef} className="LaserToolOverlayCanvas" />
     </div>
   );

+ 0 - 3
src/components/LaserTool/LaserToolOverlay.scss

@@ -4,9 +4,6 @@
     width: 100vw;
     height: 100vh;
     position: fixed;
-    top: 0;
-    left: 0;
-
     z-index: 2;
 
     .LaserToolOverlayCanvas {