diff --git a/packages/engine-render/src/__tests__/engine-scene-viewport.spec.ts b/packages/engine-render/src/__tests__/engine-scene-viewport.spec.ts index 3d531a3f99..afcb9dce0f 100644 --- a/packages/engine-render/src/__tests__/engine-scene-viewport.spec.ts +++ b/packages/engine-render/src/__tests__/engine-scene-viewport.spec.ts @@ -532,6 +532,9 @@ describe('engine scene viewport extra', () => { }; (transformer as any)._recoverySizeBoundary([recoveryTarget], 0, 0, 100, 80); expect(recoveryTarget.transformByState).toHaveBeenCalled(); + recoveryTarget.transformByState.mockClear(); + (freeMoveTransformer as any)._recoverySizeBoundary([recoveryTarget], 0, 0, 100, 80); + expect(recoveryTarget.transformByState).not.toHaveBeenCalled(); expect((transformer as any)._getRotateAnchorCursor('__SpreadsheetTransformerResizeLM__')).toBe(CURSOR_TYPE.WEST_RESIZE); expect((transformer as any)._getRotateAnchorCursor('__SpreadsheetTransformerResizeCB__')).toBe(CURSOR_TYPE.SOUTH_RESIZE); diff --git a/packages/engine-render/src/scene.transformer.ts b/packages/engine-render/src/scene.transformer.ts index 7e60b5ed6a..aef555efa3 100644 --- a/packages/engine-render/src/scene.transformer.ts +++ b/packages/engine-render/src/scene.transformer.ts @@ -1186,6 +1186,9 @@ export class Transformer extends Disposable implements ITransformerConfig { private _recoverySizeBoundary(selectedObjects: BaseObject[], ancestorLeft: number, ancestorTop: number, topSceneWidth: number, topSceneHeight: number) { for (let i = 0; i < selectedObjects.length; i++) { const moveObject = selectedObjects[i]; + if (this._getConfig(moveObject).moveBoundaryEnabled === false) { + continue; + } const { left, top, width, height } = moveObject; const newTransform: ITransformState = {};