Skip to content

Conversation

@gspencergoog
Copy link
Contributor

Description

This fixes a bug in the implementation of StadiumBorder.lerp where, when it was lerping to/from a RoundedRectangleBorder, it was casting the given border radius to a BorderRadius, when it could just as easily be a BorderRadiusDirectional, causing a CastError to be thrown in that case.

This PR modifies the lerpFrom and lerpTo functions to use a BorderRadiusGeometry instead, which is the base class for both BorderRadius and BorderRadiusDirectional.

While in the file, I noticed that there were using made up words for how circular or how rectilinear the internal lerp helper classes were, so I changed the naming of some parameters from circleness to circularity and from rectness to rectilinearity. They're private classes, so there's no public API change.

Related Issues

  • internal b/253542691

Tests

  • Added tests for lerping to/from both BorderRadius circular border radii, and BorderRadiusDirectional radii.

@flutter-dashboard flutter-dashboard bot added the framework flutter/packages/flutter repository. See also f: labels. label Nov 7, 2022
Copy link
Contributor

@HansMuller HansMuller left a comment

Choose a reason for hiding this comment

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

Thanks for the circularity and rectilinearity changes, NICE.

LGTM

@gspencergoog gspencergoog force-pushed the stadium_border_cast_error branch from aaa7931 to 053d0f7 Compare November 7, 2022 18:13
@gspencergoog gspencergoog added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 7, 2022
@auto-submit auto-submit bot merged commit 1ca2e0b into flutter:master Nov 7, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 8, 2022
…lerpFrom` when using `BorderRadiusDirectional` (flutter/flutter#114826)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Nov 8, 2022
…lerpFrom` when using `BorderRadiusDirectional` (flutter/flutter#114826)
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Nov 8, 2022
* 5280135 ecd3c4857 Roll Fuchsia Mac SDK from sNXsQVxntMX8f42LE... to 9Jb1-3tRPQ2ZhpTQC... (flutter/engine#37363) (flutter/flutter#114772)

* a6da104 Adds support for the Material Badge widget, BadgeTheme, BadgeThemeData (flutter/flutter#114560)

* 19c5fc5 0cbdf464c Add Matrix::LookAt (flutter/engine#37361) (flutter/flutter#114786)

* c551fe3 4e45cfb4a Roll Fuchsia Mac SDK from 9Jb1-3tRPQ2ZhpTQC... to 5XOj9l5e2wkSpMKT1... (flutter/engine#37369) (flutter/flutter#114789)

* a54a46d 6b57fddd1 Bump github/codeql-action from 2.1.29 to 2.1.31 (flutter/engine#37374) (flutter/flutter#114798)

* 3c9288c Increase minimum supported macOS version from 10.13 to 10.14 (flutter/flutter#114713)

* a1289a4 891d4a357 Roll Skia from c3c31be8729b to 513f0fd34590 (2 revisions) (flutter/engine#37377) (flutter/flutter#114802)

* 04d6fd2 Roll Plugins from a279b9d to 3ca3410 (4 revisions) (flutter/flutter#114813)

* 151c831 92d9ad27f Roll Skia from 513f0fd34590 to da9fad017aee (2 revisions) (flutter/engine#37379) (flutter/flutter#114816)

* d6a8e92 Revert "Adds support for the Material Badge widget, BadgeTheme, BadgeThemeData (#114560)" (flutter/flutter#114819)

* 7de60bb 334549704 Roll buildroot to d13d64086f5e301bd0415eede895b34af220ef42 (flutter/engine#37380) (flutter/flutter#114821)

* 496cf62 Delegate TestWindow.updateSemantics to the wrapped SingletonFlutterWindow (flutter/flutter#114733)

* 497a528 Fix TextField/CupertinoTextField hint style overflow not work. (flutter/flutter#114335)

* 7e36cf1 Mac Page Up / Page Down in text fields (flutter/flutter#105497)

* 77c06c2 0075e10bc Move gclient var property to ci.yaml (flutter/engine#37351) (flutter/flutter#114828)

* 378387b when getting xcworkspace, exclude hidden files (flutter/flutter#114099)

* e901832 4e03d059d [Android] Speed up the method 'FlutterRenderer.getBitmap' (flutter/engine#37342) (flutter/flutter#114833)

* 3cde69e Revert "Revert "Scribble mixin (#104128)" (#114647)" (flutter/flutter#114698)

* e1adc96 feat: provide a way to set the initial child's alignment (flutter/flutter#114745)

* fe5eb2d ee48c0392 Roll Fuchsia Mac SDK from 5XOj9l5e2wkSpMKT1... to sa5bVGimNo3JwLV27... (flutter/engine#37386) (flutter/flutter#114836)

* 5628ebf [RawKeyboard] Allow inconsistent modifiers for Web (flutter/flutter#114499)

* f1cdfa2 Use AppBar.systemOverlayStyle to style system navigation bar (flutter/flutter#104827)

* e4e902d [flutter_tools] add compilation failure tests for new cases added in impellerc (flutter/flutter#114757)

* 7640f31 a81a715ce Revert "Remove deprecated calls to updateSemantics in `PlatformDispatcher` (#36673)" (flutter/engine#37388) (flutter/flutter#114842)

* 585d445 Roll Flutter Engine from a81a715ce6b2 to df602070ac4b (3 revisions) (flutter/flutter#114847)

* 1ca2e0b Fix `CastError` in `StadiumBorder.lerpTo` and  `StadiumBorder.lerpFrom` when using `BorderRadiusDirectional` (flutter/flutter#114826)

* 2e85e74 004a30516 [fuchsia] embedding-flutter test (flutter/engine#37052) (flutter/flutter#114854)

* 139b8f4 Roll Flutter Engine from 004a305166d5 to e7d7edab98ad (2 revisions) (flutter/flutter#114855)

* 53e6876 Allow Flutter golden file tests to be flaky (flutter/flutter#114450)

* a1432a9 Refactor fix_data.yaml (flutter/flutter#114192)
auto-submit bot pushed a commit to flutter/plugins that referenced this pull request Nov 8, 2022
* 04d6fd2 Roll Plugins from a279b9d to 3ca3410 (4 revisions) (flutter/flutter#114813)

* 151c831 92d9ad27f Roll Skia from 513f0fd34590 to da9fad017aee (2 revisions) (flutter/engine#37379) (flutter/flutter#114816)

* d6a8e92 Revert "Adds support for the Material Badge widget, BadgeTheme, BadgeThemeData (#114560)" (flutter/flutter#114819)

* 7de60bb 334549704 Roll buildroot to d13d64086f5e301bd0415eede895b34af220ef42 (flutter/engine#37380) (flutter/flutter#114821)

* 496cf62 Delegate TestWindow.updateSemantics to the wrapped SingletonFlutterWindow (flutter/flutter#114733)

* 497a528 Fix TextField/CupertinoTextField hint style overflow not work. (flutter/flutter#114335)

* 7e36cf1 Mac Page Up / Page Down in text fields (flutter/flutter#105497)

* 77c06c2 0075e10bc Move gclient var property to ci.yaml (flutter/engine#37351) (flutter/flutter#114828)

* 378387b when getting xcworkspace, exclude hidden files (flutter/flutter#114099)

* e901832 4e03d059d [Android] Speed up the method 'FlutterRenderer.getBitmap' (flutter/engine#37342) (flutter/flutter#114833)

* 3cde69e Revert "Revert "Scribble mixin (#104128)" (#114647)" (flutter/flutter#114698)

* e1adc96 feat: provide a way to set the initial child's alignment (flutter/flutter#114745)

* fe5eb2d ee48c0392 Roll Fuchsia Mac SDK from 5XOj9l5e2wkSpMKT1... to sa5bVGimNo3JwLV27... (flutter/engine#37386) (flutter/flutter#114836)

* 5628ebf [RawKeyboard] Allow inconsistent modifiers for Web (flutter/flutter#114499)

* f1cdfa2 Use AppBar.systemOverlayStyle to style system navigation bar (flutter/flutter#104827)

* e4e902d [flutter_tools] add compilation failure tests for new cases added in impellerc (flutter/flutter#114757)

* 7640f31 a81a715ce Revert "Remove deprecated calls to updateSemantics in `PlatformDispatcher` (#36673)" (flutter/engine#37388) (flutter/flutter#114842)

* 585d445 Roll Flutter Engine from a81a715ce6b2 to df602070ac4b (3 revisions) (flutter/flutter#114847)

* 1ca2e0b Fix `CastError` in `StadiumBorder.lerpTo` and  `StadiumBorder.lerpFrom` when using `BorderRadiusDirectional` (flutter/flutter#114826)

* 2e85e74 004a30516 [fuchsia] embedding-flutter test (flutter/engine#37052) (flutter/flutter#114854)

* 139b8f4 Roll Flutter Engine from 004a305166d5 to e7d7edab98ad (2 revisions) (flutter/flutter#114855)

* 53e6876 Allow Flutter golden file tests to be flaky (flutter/flutter#114450)

* a1432a9 Refactor fix_data.yaml (flutter/flutter#114192)
IVLIVS-III pushed a commit to IVLIVS-III/flutter_plugins_fork that referenced this pull request Nov 11, 2022
* 04d6fd2 Roll Plugins from a279b9d to 3ca3410 (4 revisions) (flutter/flutter#114813)

* 151c831 92d9ad27f Roll Skia from 513f0fd34590 to da9fad017aee (2 revisions) (flutter/engine#37379) (flutter/flutter#114816)

* d6a8e92 Revert "Adds support for the Material Badge widget, BadgeTheme, BadgeThemeData (#114560)" (flutter/flutter#114819)

* 7de60bb 334549704 Roll buildroot to d13d64086f5e301bd0415eede895b34af220ef42 (flutter/engine#37380) (flutter/flutter#114821)

* 496cf62 Delegate TestWindow.updateSemantics to the wrapped SingletonFlutterWindow (flutter/flutter#114733)

* 497a528 Fix TextField/CupertinoTextField hint style overflow not work. (flutter/flutter#114335)

* 7e36cf1 Mac Page Up / Page Down in text fields (flutter/flutter#105497)

* 77c06c2 0075e10bc Move gclient var property to ci.yaml (flutter/engine#37351) (flutter/flutter#114828)

* 378387b when getting xcworkspace, exclude hidden files (flutter/flutter#114099)

* e901832 4e03d059d [Android] Speed up the method 'FlutterRenderer.getBitmap' (flutter/engine#37342) (flutter/flutter#114833)

* 3cde69e Revert "Revert "Scribble mixin (#104128)" (#114647)" (flutter/flutter#114698)

* e1adc96 feat: provide a way to set the initial child's alignment (flutter/flutter#114745)

* fe5eb2d ee48c0392 Roll Fuchsia Mac SDK from 5XOj9l5e2wkSpMKT1... to sa5bVGimNo3JwLV27... (flutter/engine#37386) (flutter/flutter#114836)

* 5628ebf [RawKeyboard] Allow inconsistent modifiers for Web (flutter/flutter#114499)

* f1cdfa2 Use AppBar.systemOverlayStyle to style system navigation bar (flutter/flutter#104827)

* e4e902d [flutter_tools] add compilation failure tests for new cases added in impellerc (flutter/flutter#114757)

* 7640f31 a81a715ce Revert "Remove deprecated calls to updateSemantics in `PlatformDispatcher` (#36673)" (flutter/engine#37388) (flutter/flutter#114842)

* 585d445 Roll Flutter Engine from a81a715ce6b2 to df602070ac4b (3 revisions) (flutter/flutter#114847)

* 1ca2e0b Fix `CastError` in `StadiumBorder.lerpTo` and  `StadiumBorder.lerpFrom` when using `BorderRadiusDirectional` (flutter/flutter#114826)

* 2e85e74 004a30516 [fuchsia] embedding-flutter test (flutter/engine#37052) (flutter/flutter#114854)

* 139b8f4 Roll Flutter Engine from 004a305166d5 to e7d7edab98ad (2 revisions) (flutter/flutter#114855)

* 53e6876 Allow Flutter golden file tests to be flaky (flutter/flutter#114450)

* a1432a9 Refactor fix_data.yaml (flutter/flutter#114192)
adam-harwood pushed a commit to adam-harwood/flutter_plugins that referenced this pull request Nov 21, 2022
* 04d6fd2 Roll Plugins from a279b9d to 3ca3410 (4 revisions) (flutter/flutter#114813)

* 151c831 92d9ad27f Roll Skia from 513f0fd34590 to da9fad017aee (2 revisions) (flutter/engine#37379) (flutter/flutter#114816)

* d6a8e92 Revert "Adds support for the Material Badge widget, BadgeTheme, BadgeThemeData (#114560)" (flutter/flutter#114819)

* 7de60bb 334549704 Roll buildroot to d13d64086f5e301bd0415eede895b34af220ef42 (flutter/engine#37380) (flutter/flutter#114821)

* 496cf62 Delegate TestWindow.updateSemantics to the wrapped SingletonFlutterWindow (flutter/flutter#114733)

* 497a528 Fix TextField/CupertinoTextField hint style overflow not work. (flutter/flutter#114335)

* 7e36cf1 Mac Page Up / Page Down in text fields (flutter/flutter#105497)

* 77c06c2 0075e10bc Move gclient var property to ci.yaml (flutter/engine#37351) (flutter/flutter#114828)

* 378387b when getting xcworkspace, exclude hidden files (flutter/flutter#114099)

* e901832 4e03d059d [Android] Speed up the method 'FlutterRenderer.getBitmap' (flutter/engine#37342) (flutter/flutter#114833)

* 3cde69e Revert "Revert "Scribble mixin (#104128)" (#114647)" (flutter/flutter#114698)

* e1adc96 feat: provide a way to set the initial child's alignment (flutter/flutter#114745)

* fe5eb2d ee48c0392 Roll Fuchsia Mac SDK from 5XOj9l5e2wkSpMKT1... to sa5bVGimNo3JwLV27... (flutter/engine#37386) (flutter/flutter#114836)

* 5628ebf [RawKeyboard] Allow inconsistent modifiers for Web (flutter/flutter#114499)

* f1cdfa2 Use AppBar.systemOverlayStyle to style system navigation bar (flutter/flutter#104827)

* e4e902d [flutter_tools] add compilation failure tests for new cases added in impellerc (flutter/flutter#114757)

* 7640f31 a81a715ce Revert "Remove deprecated calls to updateSemantics in `PlatformDispatcher` (#36673)" (flutter/engine#37388) (flutter/flutter#114842)

* 585d445 Roll Flutter Engine from a81a715ce6b2 to df602070ac4b (3 revisions) (flutter/flutter#114847)

* 1ca2e0b Fix `CastError` in `StadiumBorder.lerpTo` and  `StadiumBorder.lerpFrom` when using `BorderRadiusDirectional` (flutter/flutter#114826)

* 2e85e74 004a30516 [fuchsia] embedding-flutter test (flutter/engine#37052) (flutter/flutter#114854)

* 139b8f4 Roll Flutter Engine from 004a305166d5 to e7d7edab98ad (2 revisions) (flutter/flutter#114855)

* 53e6876 Allow Flutter golden file tests to be flaky (flutter/flutter#114450)

* a1432a9 Refactor fix_data.yaml (flutter/flutter#114192)
shogohida pushed a commit to shogohida/flutter that referenced this pull request Dec 7, 2022
…` when using `BorderRadiusDirectional` (flutter#114826)

* Fix casting in StadiumBorder lerp

* Add tests

* Fix made-up names
gspencergoog added a commit to gspencergoog/flutter that referenced this pull request Jan 19, 2023
…` when using `BorderRadiusDirectional` (flutter#114826)

* Fix casting in StadiumBorder lerp

* Add tests

* Fix made-up names
mauricioluz pushed a commit to mauricioluz/plugins that referenced this pull request Jan 26, 2023
* 04d6fd2 Roll Plugins from a279b9d to 3ca3410 (4 revisions) (flutter/flutter#114813)

* 151c831 92d9ad27f Roll Skia from 513f0fd34590 to da9fad017aee (2 revisions) (flutter/engine#37379) (flutter/flutter#114816)

* d6a8e92 Revert "Adds support for the Material Badge widget, BadgeTheme, BadgeThemeData (#114560)" (flutter/flutter#114819)

* 7de60bb 334549704 Roll buildroot to d13d64086f5e301bd0415eede895b34af220ef42 (flutter/engine#37380) (flutter/flutter#114821)

* 496cf62 Delegate TestWindow.updateSemantics to the wrapped SingletonFlutterWindow (flutter/flutter#114733)

* 497a528 Fix TextField/CupertinoTextField hint style overflow not work. (flutter/flutter#114335)

* 7e36cf1 Mac Page Up / Page Down in text fields (flutter/flutter#105497)

* 77c06c2 0075e10bc Move gclient var property to ci.yaml (flutter/engine#37351) (flutter/flutter#114828)

* 378387b when getting xcworkspace, exclude hidden files (flutter/flutter#114099)

* e901832 4e03d059d [Android] Speed up the method 'FlutterRenderer.getBitmap' (flutter/engine#37342) (flutter/flutter#114833)

* 3cde69e Revert "Revert "Scribble mixin (#104128)" (#114647)" (flutter/flutter#114698)

* e1adc96 feat: provide a way to set the initial child's alignment (flutter/flutter#114745)

* fe5eb2d ee48c0392 Roll Fuchsia Mac SDK from 5XOj9l5e2wkSpMKT1... to sa5bVGimNo3JwLV27... (flutter/engine#37386) (flutter/flutter#114836)

* 5628ebf [RawKeyboard] Allow inconsistent modifiers for Web (flutter/flutter#114499)

* f1cdfa2 Use AppBar.systemOverlayStyle to style system navigation bar (flutter/flutter#104827)

* e4e902d [flutter_tools] add compilation failure tests for new cases added in impellerc (flutter/flutter#114757)

* 7640f31 a81a715ce Revert "Remove deprecated calls to updateSemantics in `PlatformDispatcher` (#36673)" (flutter/engine#37388) (flutter/flutter#114842)

* 585d445 Roll Flutter Engine from a81a715ce6b2 to df602070ac4b (3 revisions) (flutter/flutter#114847)

* 1ca2e0b Fix `CastError` in `StadiumBorder.lerpTo` and  `StadiumBorder.lerpFrom` when using `BorderRadiusDirectional` (flutter/flutter#114826)

* 2e85e74 004a30516 [fuchsia] embedding-flutter test (flutter/engine#37052) (flutter/flutter#114854)

* 139b8f4 Roll Flutter Engine from 004a305166d5 to e7d7edab98ad (2 revisions) (flutter/flutter#114855)

* 53e6876 Allow Flutter golden file tests to be flaky (flutter/flutter#114450)

* a1432a9 Refactor fix_data.yaml (flutter/flutter#114192)
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.

2 participants