From 2570812658c267d1bd9d015eac29cc505caa34ce Mon Sep 17 00:00:00 2001 From: Feodor Fitsner Date: Fri, 25 Nov 2022 10:41:33 -0800 Subject: [PATCH] Make `Control.offset` work without animation enabled Close #624 --- package/lib/src/controls/create_control.dart | 3 +++ package/lib/src/utils/transforms.dart | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/package/lib/src/controls/create_control.dart b/package/lib/src/controls/create_control.dart index 9a17a641b..202d54be5 100644 --- a/package/lib/src/controls/create_control.dart +++ b/package/lib/src/controls/create_control.dart @@ -537,6 +537,9 @@ Widget _offsetControl( } : null, child: widget); + } else if (offsetDetails != null) { + return FractionalTranslation( + translation: Offset(offsetDetails.x, offsetDetails.y), child: widget); } return widget; } diff --git a/package/lib/src/utils/transforms.dart b/package/lib/src/utils/transforms.dart index dcf9414da..55f593e97 100644 --- a/package/lib/src/utils/transforms.dart +++ b/package/lib/src/utils/transforms.dart @@ -1,9 +1,9 @@ import 'dart:convert'; -import 'alignment.dart'; import 'package:flutter/material.dart'; import '../models/control.dart'; +import 'alignment.dart'; import 'numbers.dart'; RotationDetails? parseRotate(Control control, String propName) { @@ -50,7 +50,7 @@ ScaleDetails scaleFromJSON(dynamic json) { OffsetDetails? parseOffset(Control control, String propName) { var v = control.attrString(propName, null); if (v == null) { - return OffsetDetails(x: 0, y: 0); + return null; } final j1 = json.decode(v);