Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a new MatrixTransition and refactor ScaleTransition and RotationT… #131084

Merged
merged 2 commits into from
Aug 18, 2023

Conversation

gmilou
Copy link
Contributor

@gmilou gmilou commented Jul 21, 2023

…ransition to derive from it.

The MatrixTransition class uses a callback to handle any value => Matrix animation.

The alignment and filterQuality logic that was in ScaleTransition and RotationTransition is now factored in MatrixTransition.

The ScaleTransition.scale and RotationTransition.turns getters had to be kept because they're still referenced in https://github.com/flutter/packages/tree/main/packages/animations, and https://github.com/flutter/packages/flutter/test/. I plan to remove the references there, once this PR is generally available, and then remove the getters here.

A RotationTransition test was updated to use matrixMoreOrLessEquals because using Matrix4.rotationZ doesn't have the special cases Transform.Rotation had, and zeroes in matrix weren't exactly zeroes.

fixes #130946

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • All existing and new tests are passing.

@github-actions github-actions bot added the framework flutter/packages/flutter repository. See also f: labels. label Jul 21, 2023
@goderbauer goderbauer self-requested a review July 21, 2023 22:28
Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, just some doc and formatting nits to address.

packages/flutter/lib/src/widgets/transitions.dart Outdated Show resolved Hide resolved
packages/flutter/lib/src/widgets/transitions.dart Outdated Show resolved Hide resolved
packages/flutter/lib/src/widgets/transitions.dart Outdated Show resolved Hide resolved
packages/flutter/lib/src/widgets/transitions.dart Outdated Show resolved Hide resolved
packages/flutter/lib/src/widgets/transitions.dart Outdated Show resolved Hide resolved
packages/flutter/test/widgets/transitions_test.dart Outdated Show resolved Hide resolved
…ransition to derive from it.

The MatrixTransition class uses a callback to handle any value => Matrix animation.

The alignment and filterQuality logic that was in ScaleTransition and RotationTransition is now factored in MatrixTransition.

The ScaleTransition.scale and RotationTransition.turns getters had to be kept because they're still referenced in https://github.com/flutter/packages/tree/main/packages/animations, and https://github.com/flutter/packages/flutter/test/. I plan to remove the references there, once this PR is generally available, and then remove the getters here.

A RotationTransition test was updated to use matrixMoreOrLessEquals because using Matrix4.rotationZ doesn't have the special cases Transform.Rotation had, and zeroes in matrix weren't exactly zeroes.

fixes flutter#130946
Copy link
Member

@goderbauer goderbauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@Piinks Piinks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Flutter_LGTM

Copy link
Contributor

@chunhtai chunhtai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@goderbauer goderbauer added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 17, 2023
@auto-submit auto-submit bot merged commit 58019b3 into flutter:master Aug 18, 2023
73 checks passed
@gmilou gmilou deleted the matrix-transition branch August 18, 2023 17:22
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 19, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 19, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Aug 19, 2023
flutter/flutter@5a556f8...6f227c0

2023-08-19 jacksongardner@google.com Space character should be optional when tree shaking fonts (flutter/flutter#132880)
2023-08-19 engine-flutter-autoroll@skia.org Roll Flutter Engine from 654d3a2c8494 to f4bffdcf8536 (5 revisions) (flutter/flutter#132876)
2023-08-18 rmolivares@renzo-olivares.dev SelectionArea on iOS should toggle the context menu when tapping on the previous selection (flutter/flutter#132851)
2023-08-18 zanderso@users.noreply.github.com Forward port API docs creation realm handling from prior script (flutter/flutter#132867)
2023-08-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 72c4e61fdbfa to 654d3a2c8494 (3 revisions) (flutter/flutter#132868)
2023-08-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 83fdadaf12f0 to 72c4e61fdbfa (2 revisions) (flutter/flutter#132861)
2023-08-18 47866232+chunhtai@users.noreply.github.com Updates app link gradle tasks and remove vm services (flutter/flutter#131805)
2023-08-18 engine-flutter-autoroll@skia.org Roll Flutter Engine from 58f7d8ee3e2c to 83fdadaf12f0 (7 revisions) (flutter/flutter#132857)
2023-08-18 mustafauzun0@gmail.com doc: add flag params (flutter/flutter#132485)
2023-08-18 139406084+gmilou@users.noreply.github.com Add a new MatrixTransition and refactor ScaleTransition and RotationT� (flutter/flutter#131084)
2023-08-18 32621121+AndreySuworow@users.noreply.github.com fixes l10n for CupertinoDatePicker in monthYear mode (flutter/flutter#130934)

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 bmparr@google.com,rmistry@google.com,stuartmorgan@google.com 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Generic version of the ScaleTransition and RotationTransition
4 participants