From 1dd1c467010cc8c95e48540a7271e4c02049733f Mon Sep 17 00:00:00 2001 From: Michael Goderbauer Date: Wed, 22 May 2024 10:22:50 -0700 Subject: [PATCH 1/2] [rfw] Hard-code FilterQuality in test --- packages/rfw/test/argument_decoders_test.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/rfw/test/argument_decoders_test.dart b/packages/rfw/test/argument_decoders_test.dart index 9906cfa142bb..5cd1e3f02c1b 100644 --- a/packages/rfw/test/argument_decoders_test.dart +++ b/packages/rfw/test/argument_decoders_test.dart @@ -295,6 +295,7 @@ void main() { 1.0, 1.0, 1.0, 1.0, 1.0, ], }, + filterQuality: "medium", }, gradient: { type: 'sweep', @@ -314,6 +315,7 @@ void main() { blendMode: "xor", }, onError: event 'image-error-event' { }, + filterQuality: "medium", }, gradient: { type: 'linear', @@ -383,13 +385,13 @@ void main() { (tester.widgetList(find.byType(DecoratedBox)).toList()[1].decoration as BoxDecoration).image.toString(), 'DecorationImage(AssetImage(bundle: null, name: "asset"), ' // this just seemed like the easiest way to check all this... 'ColorFilter.matrix([$matrix]), ' - 'Alignment.center, centerSlice: Rect.fromLTRB(5.0, 8.0, 105.0, 78.0), scale 1.0, opacity 1.0, FilterQuality.low)', + 'Alignment.center, centerSlice: Rect.fromLTRB(5.0, 8.0, 105.0, 78.0), scale 1.0, opacity 1.0, FilterQuality.medium)', ); expect( (tester.widgetList(find.byType(DecoratedBox)).toList()[0].decoration as BoxDecoration).image.toString(), 'DecorationImage(NetworkImage("x-invalid://", scale: 1.0), ' 'ColorFilter.mode(Color(0xff8811ff), BlendMode.xor), Alignment.center, scale 1.0, ' - 'opacity 1.0, FilterQuality.low)', + 'opacity 1.0, FilterQuality.medium)', ); ArgumentDecoders.colorFilterDecoders['custom'] = (DataSource source, List key) { From b042cafa9569e609cfbfee54fc3a18242863a64e Mon Sep 17 00:00:00 2001 From: Michael Goderbauer Date: Wed, 22 May 2024 10:34:07 -0700 Subject: [PATCH 2/2] add support for DecorationImage.filterQuality --- packages/rfw/CHANGELOG.md | 3 +++ packages/rfw/lib/src/flutter/argument_decoders.dart | 1 + packages/rfw/pubspec.yaml | 2 +- packages/rfw/test/argument_decoders_test.dart | 8 ++++---- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/rfw/CHANGELOG.md b/packages/rfw/CHANGELOG.md index 7f1da5e2f35b..3490c85aa98f 100644 --- a/packages/rfw/CHANGELOG.md +++ b/packages/rfw/CHANGELOG.md @@ -1,3 +1,6 @@ +## 1.0.27 +* Adds support for `DecorationImage.filterQuality`. + ## 1.0.26 * Supports overriding the error widget builder. diff --git a/packages/rfw/lib/src/flutter/argument_decoders.dart b/packages/rfw/lib/src/flutter/argument_decoders.dart index 41db3bf95b96..e8444ce56b6a 100644 --- a/packages/rfw/lib/src/flutter/argument_decoders.dart +++ b/packages/rfw/lib/src/flutter/argument_decoders.dart @@ -550,6 +550,7 @@ class ArgumentDecoders { centerSlice: rect(source, [...key, 'centerSlice']), repeat: enumValue(ImageRepeat.values, source, [...key, 'repeat']) ?? ImageRepeat.noRepeat, matchTextDirection: source.v([...key, 'matchTextDirection']) ?? false, + filterQuality: enumValue(FilterQuality.values, source, [...key, 'filterQuality']) ?? FilterQuality.medium, ); } diff --git a/packages/rfw/pubspec.yaml b/packages/rfw/pubspec.yaml index a83be027aafe..046fe7a19274 100644 --- a/packages/rfw/pubspec.yaml +++ b/packages/rfw/pubspec.yaml @@ -2,7 +2,7 @@ name: rfw description: "Remote Flutter widgets: a library for rendering declarative widget description files at runtime." repository: https://github.com/flutter/packages/tree/main/packages/rfw issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+rfw%22 -version: 1.0.26 +version: 1.0.27 environment: sdk: ^3.2.0 diff --git a/packages/rfw/test/argument_decoders_test.dart b/packages/rfw/test/argument_decoders_test.dart index 5cd1e3f02c1b..8564db5002dd 100644 --- a/packages/rfw/test/argument_decoders_test.dart +++ b/packages/rfw/test/argument_decoders_test.dart @@ -295,7 +295,7 @@ void main() { 1.0, 1.0, 1.0, 1.0, 1.0, ], }, - filterQuality: "medium", + filterQuality: "none", }, gradient: { type: 'sweep', @@ -315,7 +315,7 @@ void main() { blendMode: "xor", }, onError: event 'image-error-event' { }, - filterQuality: "medium", + filterQuality: "high", }, gradient: { type: 'linear', @@ -385,13 +385,13 @@ void main() { (tester.widgetList(find.byType(DecoratedBox)).toList()[1].decoration as BoxDecoration).image.toString(), 'DecorationImage(AssetImage(bundle: null, name: "asset"), ' // this just seemed like the easiest way to check all this... 'ColorFilter.matrix([$matrix]), ' - 'Alignment.center, centerSlice: Rect.fromLTRB(5.0, 8.0, 105.0, 78.0), scale 1.0, opacity 1.0, FilterQuality.medium)', + 'Alignment.center, centerSlice: Rect.fromLTRB(5.0, 8.0, 105.0, 78.0), scale 1.0, opacity 1.0, FilterQuality.none)', ); expect( (tester.widgetList(find.byType(DecoratedBox)).toList()[0].decoration as BoxDecoration).image.toString(), 'DecorationImage(NetworkImage("x-invalid://", scale: 1.0), ' 'ColorFilter.mode(Color(0xff8811ff), BlendMode.xor), Alignment.center, scale 1.0, ' - 'opacity 1.0, FilterQuality.medium)', + 'opacity 1.0, FilterQuality.high)', ); ArgumentDecoders.colorFilterDecoders['custom'] = (DataSource source, List key) {