diff --git a/lib/src/editor/edit_action_details.dart b/lib/src/editor/edit_action_details.dart index f298cb9..70aac6a 100644 --- a/lib/src/editor/edit_action_details.dart +++ b/lib/src/editor/edit_action_details.dart @@ -10,6 +10,7 @@ class EditActionDetails { Rect? get layoutRect => _layoutRect; Rect? _screenDestinationRect; Rect? _rawDestinationRect; + Rect? initialCropRect; double totalScale = 1.0; double preTotalScale = 1.0; @@ -721,6 +722,7 @@ class EditActionDetails { double? cropAspectRatio, double? rotateRadians, double? rotationYRadians, + Rect? initialCropRect, }) { return EditActionDetails() .._layoutRect = layoutRect ?? _layoutRect @@ -736,6 +738,7 @@ class EditActionDetails { ..cropAspectRatio = cropAspectRatio ?? _cropAspectRatio ..rotateRadians = rotateRadians ?? this.rotateRadians ..rotationYRadians = rotationYRadians ?? this.rotationYRadians + ..initialCropRect = initialCropRect ?? this.initialCropRect ..config = config; } diff --git a/lib/src/editor/editor.dart b/lib/src/editor/editor.dart index 03e6fb9..bcfd5e4 100644 --- a/lib/src/editor/editor.dart +++ b/lib/src/editor/editor.dart @@ -291,7 +291,7 @@ class ExtendedImageEditorState extends State alignment is! Alignment ? Directionality.of(context) : null; final Alignment resolvedAlignment = alignment.resolve(textDirection); final Rect destinationRect = getDestinationRect( - rect: layoutRect, + rect: _editActionDetails?.initialCropRect ?? layoutRect, inputSize: Size( widget.extendedImageState.extendedImageInfo!.image.width.toDouble(), widget.extendedImageState.extendedImageInfo!.image.height.toDouble(),