diff --git a/ts/image-occlusion/shapes/to-cloze.ts b/ts/image-occlusion/shapes/to-cloze.ts index 7ea1553cc..41120a491 100644 --- a/ts/image-occlusion/shapes/to-cloze.ts +++ b/ts/image-occlusion/shapes/to-cloze.ts @@ -68,6 +68,11 @@ function fabricObjectToBaseShapeOrShapes( // Prevents the original fabric object from mutating when a non-primitive // property of a Shape mutates. const cloned = cloneDeep(object); + if (parentObject) { + const scaling = parentObject.getObjectScaling(); + cloned.width = cloned.width * scaling.scaleX; + cloned.height = cloned.height * scaling.scaleY; + } switch (object.type) { case "rect": diff --git a/ts/image-occlusion/tools/lib.ts b/ts/image-occlusion/tools/lib.ts index a1e8d6101..07cd8439a 100644 --- a/ts/image-occlusion/tools/lib.ts +++ b/ts/image-occlusion/tools/lib.ts @@ -189,11 +189,8 @@ export const moveShapeToCanvasBoundaries = (canvas: fabric.Canvas): void => { if (!activeObject) { return; } - if ( - activeObject.type === "activeSelection" - || activeObject.type === "rect" - ) { - modifiedSelection(canvas, activeObject); + if (activeObject.type === "rect") { + modifiedRectangle(canvas, activeObject); } if (activeObject.type === "ellipse") { modifiedEllipse(canvas, activeObject); @@ -204,7 +201,7 @@ export const moveShapeToCanvasBoundaries = (canvas: fabric.Canvas): void => { }); }; -const modifiedSelection = ( +const modifiedRectangle = ( canvas: fabric.Canvas, object: fabric.Object, ): void => {