Include transform in static Gradient lerp methods#149624
Merged
auto-submit[bot] merged 2 commits intoflutter:masterfrom Jun 14, 2024
Merged
Include transform in static Gradient lerp methods#149624auto-submit[bot] merged 2 commits intoflutter:masterfrom
auto-submit[bot] merged 2 commits intoflutter:masterfrom
Conversation
LinearGradient.lerp(), RadialGradient.lerp() and SweepGradient.lerp() no longer drop the GradientTransform of `a` and/or `b`.
Hixie
reviewed
Jun 6, 2024
Comment on lines
509
to
+510
| tileMode: t < 0.5 ? a.tileMode : b.tileMode, // TODO(ianh): interpolate tile mode | ||
| transform: t < 0.5 ? a.transform : b.transform, |
Contributor
There was a problem hiding this comment.
not a big deal, but if you feel like it, you could remove the TODO on the line above (or alternatively, add one on the new line, with a link to #443)
(same for all three gradients)
nate-thegrate
approved these changes
Jun 13, 2024
Contributor
nate-thegrate
left a comment
There was a problem hiding this comment.
LGTM! 👍
Thanks for noticing the bug and implementing a fix!
Comment on lines
+215
to
+217
| expect(testGradient1, equals(actual0)); | ||
| expect(testGradient2, equals(actual1)); | ||
| expect(testGradient2, equals(actual2)); |
Contributor
There was a problem hiding this comment.
Suggested change
| expect(testGradient1, equals(actual0)); | |
| expect(testGradient2, equals(actual1)); | |
| expect(testGradient2, equals(actual2)); | |
| expect(actual0, equals(testGradient1)); | |
| expect(actual1, equals(testGradient2)); | |
| expect(actual2, equals(testGradient2)); |
Tiny nit: "actual" should be passed as the first argument for expect() (here and below). Not a big deal though, since in this case the test works fine either way.
Contributor
|
We can probably merge this now, and then make the aforementioned tweaks the next time we update these functions. |
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Jun 14, 2024
auto-submit bot
pushed a commit
to flutter/packages
that referenced
this pull request
Jun 14, 2024
flutter/flutter@01db23b...349ec71 2024-06-14 [email protected] Add tests for navigator.0.dart (flutter/flutter#150034) 2024-06-14 [email protected] Switch to `Iterable.cast` instance method (flutter/flutter#150185) 2024-06-14 [email protected] Include transform in static Gradient lerp methods (flutter/flutter#149624) 2024-06-14 [email protected] Validate the `contrastLevel` during `ColorScheme` creation (flutter/flutter#150176) 2024-06-14 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.25.9 to 3.25.10 (flutter/flutter#150228) 2024-06-13 [email protected] Fix leaky test. (flutter/flutter#150235) 2024-06-13 [email protected] Document CIPD role & login for upgrading Android engine (flutter/flutter#149433) 2024-06-13 [email protected] Update doc for `ColorScheme.surface` (flutter/flutter#150212) 2024-06-13 [email protected] Roll pub packages (flutter/flutter#150206) 2024-06-13 [email protected] Bump new release for a11y_assessment (flutter/flutter#150213) 2024-06-13 [email protected] Use --(no-)strip-wams instead of --(no-)-name-section in `dart compile wasm` (flutter/flutter#149641) 2024-06-13 [email protected] Reland "Identify and re-throw our dependency checking errors in flutter.groovy" (flutter/flutter#150128) 2024-06-13 [email protected] Use --(no-)strip-wams instead of --(no-)-name-section in `dart compile wasm` (flutter/flutter#150180) 2024-06-13 [email protected] Suppress Flutter update check if `--machine` is present at all. (flutter/flutter#150138) 2024-06-13 [email protected] [Reland] Introduce `ChipAnimationStyle` to override default chips animations durations (flutter/flutter#149876) 2024-06-13 [email protected] Update framework and flutter fix flutter.dev/docs links (flutter/flutter#150174) 2024-06-13 [email protected] Roll Flutter Engine from 4cb3025d3abf to 8167dffd1914 (2 revisions) (flutter/flutter#150208) 2024-06-13 [email protected] Replace InputDecorator M3 golden test (flutter/flutter#150111) 2024-06-13 [email protected] Roll Packages from 260102b to 7805455 (2 revisions) (flutter/flutter#150198) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
victorsanni
pushed a commit
to victorsanni/flutter
that referenced
this pull request
Jun 14, 2024
*Fixes flutter#149534 Gradient subclasses' static lerp methods drop the GradientTransform of both `a` and `b`* LinearGradient.lerp(), RadialGradient.lerp() and SweepGradient.lerp() no longer drop the GradientTransform of `a` and/or `b`. The primitive interpolation is performed the same way TileMode is handled: `transform: t < 0.5 ? a.transform : b.transform`. ## Media <details> <summary>Video demonstration</summary> ### Before https://github.com/flutter/flutter/assets/65806473/de14e201-b1a7-44ba-95ff-e62587c7f6ac ### After https://github.com/flutter/flutter/assets/65806473/d48f40e2-1b0f-4ac8-a45c-b3c423e3fd64 </details> - Changed no documentation. - Non-breaking change.
victorsanni
pushed a commit
to victorsanni/flutter
that referenced
this pull request
Jun 14, 2024
*Fixes flutter#149534 Gradient subclasses' static lerp methods drop the GradientTransform of both `a` and `b`* LinearGradient.lerp(), RadialGradient.lerp() and SweepGradient.lerp() no longer drop the GradientTransform of `a` and/or `b`. The primitive interpolation is performed the same way TileMode is handled: `transform: t < 0.5 ? a.transform : b.transform`. ## Media <details> <summary>Video demonstration</summary> ### Before https://github.com/flutter/flutter/assets/65806473/de14e201-b1a7-44ba-95ff-e62587c7f6ac ### After https://github.com/flutter/flutter/assets/65806473/d48f40e2-1b0f-4ac8-a45c-b3c423e3fd64 </details> - Changed no documentation. - Non-breaking change.
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Aug 6, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #149534 Gradient subclasses' static lerp methods drop the GradientTransform of both
aandbLinearGradient.lerp(), RadialGradient.lerp() and SweepGradient.lerp() no longer drop the GradientTransform of
aand/orb.The primitive interpolation is performed the same way TileMode is handled:
transform: t < 0.5 ? a.transform : b.transform.Media
Video demonstration
Before
Gradient.lerp.Loses.GradientTransform.mp4
After
Gradient.lerp.Preserved.Transform.mp4
Pre-launch Checklist
///).