Browse Source

fix: Test hook usage in production code (#9645)

Márk Tolmács 3 months ago
parent
commit
9f3fdf5505

+ 5 - 8
packages/excalidraw/renderer/helpers.ts

@@ -16,6 +16,7 @@ import {
 } from "@excalidraw/math";
 } from "@excalidraw/math";
 
 
 import type {
 import type {
+  ElementsMap,
   ExcalidrawDiamondElement,
   ExcalidrawDiamondElement,
   ExcalidrawRectanguloidElement,
   ExcalidrawRectanguloidElement,
 } from "@excalidraw/element/types";
 } from "@excalidraw/element/types";
@@ -128,14 +129,12 @@ function drawCatmullRomCubicApprox(
 export const drawHighlightForRectWithRotation = (
 export const drawHighlightForRectWithRotation = (
   context: CanvasRenderingContext2D,
   context: CanvasRenderingContext2D,
   element: ExcalidrawRectanguloidElement,
   element: ExcalidrawRectanguloidElement,
+  elementsMap: ElementsMap,
   padding: number,
   padding: number,
 ) => {
 ) => {
   const [x, y] = pointRotateRads(
   const [x, y] = pointRotateRads(
     pointFrom<GlobalPoint>(element.x, element.y),
     pointFrom<GlobalPoint>(element.x, element.y),
-    elementCenterPoint(
-      element,
-      window.h.app.scene.getElementsMapIncludingDeleted(),
-    ),
+    elementCenterPoint(element, elementsMap),
     element.angle,
     element.angle,
   );
   );
 
 
@@ -289,13 +288,11 @@ export const drawHighlightForDiamondWithRotation = (
   context: CanvasRenderingContext2D,
   context: CanvasRenderingContext2D,
   padding: number,
   padding: number,
   element: ExcalidrawDiamondElement,
   element: ExcalidrawDiamondElement,
+  elementsMap: ElementsMap,
 ) => {
 ) => {
   const [x, y] = pointRotateRads(
   const [x, y] = pointRotateRads(
     pointFrom<GlobalPoint>(element.x, element.y),
     pointFrom<GlobalPoint>(element.x, element.y),
-    elementCenterPoint(
-      element,
-      window.h.app.scene.getElementsMapIncludingDeleted(),
-    ),
+    elementCenterPoint(element, elementsMap),
     element.angle,
     element.angle,
   );
   );
   context.save();
   context.save();

+ 7 - 2
packages/excalidraw/renderer/interactiveScene.ts

@@ -205,10 +205,15 @@ const renderBindingHighlightForBindableElement = (
     case "embeddable":
     case "embeddable":
     case "frame":
     case "frame":
     case "magicframe":
     case "magicframe":
-      drawHighlightForRectWithRotation(context, element, padding);
+      drawHighlightForRectWithRotation(context, element, elementsMap, padding);
       break;
       break;
     case "diamond":
     case "diamond":
-      drawHighlightForDiamondWithRotation(context, padding, element);
+      drawHighlightForDiamondWithRotation(
+        context,
+        padding,
+        element,
+        elementsMap,
+      );
       break;
       break;
     case "ellipse": {
     case "ellipse": {
       const [x1, y1, x2, y2] = getElementAbsoluteCoords(element, elementsMap);
       const [x1, y1, x2, y2] = getElementAbsoluteCoords(element, elementsMap);