diff --git a/packages/box_transform/pubspec.yaml b/packages/box_transform/pubspec.yaml index bdb3b72..9334b8d 100644 --- a/packages/box_transform/pubspec.yaml +++ b/packages/box_transform/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: dev_dependencies: lints: ^4.0.0 test: ^1.25.8 - coverage: ^1.8.0 + coverage: ^1.9.2 topics: - rectangle diff --git a/packages/flutter_box_transform/lib/src/transformable_box.dart b/packages/flutter_box_transform/lib/src/transformable_box.dart index e64fbda..bf309a1 100644 --- a/packages/flutter_box_transform/lib/src/transformable_box.dart +++ b/packages/flutter_box_transform/lib/src/transformable_box.dart @@ -378,33 +378,40 @@ class _TransformableBoxState extends State { bool shouldRecalculatePosition = false; bool shouldRecalculateSize = false; - if (oldWidget.rect != widget.rect) { + if (oldWidget.rect != widget.rect || widget.rect != controller.rect) { controller.setRect(widget.rect, notify: false); + shouldRecalculatePosition = true; + shouldRecalculateSize = true; } - if (oldWidget.flip != widget.flip) { + if (oldWidget.flip != widget.flip || widget.flip != controller.flip) { controller.setFlip(widget.flip, notify: false); } - if (oldWidget.resizeModeResolver != widget.resizeModeResolver) { + if (oldWidget.resizeModeResolver != widget.resizeModeResolver || + widget.resizeModeResolver != controller.resizeModeResolver) { controller.setResizeModeResolver( widget.resizeModeResolver, notify: false, ); } - if (oldWidget.clampingRect != widget.clampingRect) { + if (oldWidget.clampingRect != widget.clampingRect || + widget.clampingRect != controller.clampingRect) { controller.setClampingRect(widget.clampingRect, notify: false); shouldRecalculatePosition = true; } - if (oldWidget.constraints != widget.constraints) { + if (oldWidget.constraints != widget.constraints || + widget.constraints != controller.constraints) { controller.setConstraints(widget.constraints, notify: false); shouldRecalculateSize = true; } if (oldWidget.allowFlippingWhileResizing != - widget.allowFlippingWhileResizing) { + widget.allowFlippingWhileResizing || + widget.allowFlippingWhileResizing != + controller.allowFlippingWhileResizing) { controller.setAllowFlippingWhileResizing( widget.allowFlippingWhileResizing, notify: false, diff --git a/packages/flutter_box_transform/playground/lib/test_recorder.dart b/packages/flutter_box_transform/playground/lib/test_recorder.dart index 242a002..d8c0f76 100644 --- a/packages/flutter_box_transform/playground/lib/test_recorder.dart +++ b/packages/flutter_box_transform/playground/lib/test_recorder.dart @@ -513,7 +513,7 @@ class _SingleInputDialogState extends State { validator: widget.validator, ), const SizedBox(height: 20), - ButtonBar( + OverflowBar( children: [ TextButton( onPressed: () => Navigator.pop(context), @@ -593,7 +593,7 @@ class _ExportDialogState extends State { onChanged: (value) => setState(() => roundValues = value ?? false), ), - ButtonBar( + OverflowBar( children: [ TextButton( onPressed: () => Navigator.pop(context),