From b9a185d0980740a873e60270500f1e3bba884a0b Mon Sep 17 00:00:00 2001 From: Alex Kim <45559664+alex-kim-dev@users.noreply.github.com> Date: Mon, 19 Dec 2022 15:54:47 +0300 Subject: [PATCH] fix: angles not flipping vertically when resizing --- src/element/resizeElements.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/element/resizeElements.ts b/src/element/resizeElements.ts index f9373f6325..24cbb10f40 100644 --- a/src/element/resizeElements.ts +++ b/src/element/resizeElements.ts @@ -52,6 +52,9 @@ import { import { getMaxContainerWidth } from "./newElement"; export const normalizeAngle = (angle: number): number => { + if (angle < 0) { + return angle + 2 * Math.PI; + } if (angle >= 2 * Math.PI) { return angle - 2 * Math.PI; } @@ -667,7 +670,10 @@ const resizeMultipleElements = ( targetElements.forEach((element) => { const width = element.orig.width * scale; const height = element.orig.height * scale; - const angle = element.orig.angle * flipFactorX * flipFactorY; + const angle = normalizeAngle( + (isFlippedByY ? Math.PI - element.orig.angle : element.orig.angle) * + flipFactorX, + ); const hasPoints = isLinearElement(element.orig) || isFreeDrawElement(element.orig);