diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 276cde0274..a8c553b2aa 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -8632,8 +8632,17 @@ class App extends React.Component { if (newElement.type === "freedraw") { const points = newElement.points; - const dx = pointerCoords.x - newElement.x; - const dy = pointerCoords.y - newElement.y; + let dx = pointerCoords.x - newElement.x; + let dy = pointerCoords.y - newElement.y; + + if (shouldRotateWithDiscreteAngle(event)) { + ({ width: dx, height: dy } = getLockedLinearCursorAlignSize( + newElement.x, + newElement.y, + pointerCoords.x, + pointerCoords.y, + )); + } const lastPoint = points.length > 0 && points[points.length - 1]; const discardPoint =