- 17 Jul, 2023 1 commit
-
-
LongCatIsLooong authored
Deprecate `textScaleFactor` in favor of `textScaler`, in preparation for Android 14 [Non-linear font scaling to 200%](https://developer.android.com/about/versions/14/features#non-linear-font-scaling). The `TextScaler` class can be moved to `dart:ui` in the future, if we decide to use the Android platform API or AndroidX to get the scaling curve instead of hard coding the curve in the framework. I haven't put the Flutter version in the deprecation message so the analyzer checks are failing. Will do so after I finish the migration guide. **Why `TextScaler.textScaleFactor`** The author of a `TextScaler` subclass should provide a fallback `textScaleFactor`. By making `TextScaler` also contain the `textScaleFactor` information it also makes it easier to migrate: if a widget overrides `MediaQueryData.textScaler` in the tree, for unmigrated widgets in the subtree it would also have to override `MediaQueryData.textScaleFactor`, and that makes it difficult to remove `MediaQueryData.textScaleFactor` in the future. ## A full list of affected APIs in this PR Deprecated: The method/getter/setter/argument is annotated with a `@Deprecated()` annotation in this PR, and the caller should replace it with `textScaler` instead. Unless otherwise specified there will be a Flutter fix available to help with migration but it's still recommended to migrate case-by-case. **Replaced**: The method this `textScaleFactor` argument belongs to is rarely called directly by user code and is not overridden by any of the registered custom tests, so the argument is directly replaced by `TextScaler`. **To Be Deprecated**: The method/getter/setter/argument can't be deprecated in this PR because a registered customer test depends on it and a Flutter fix isn't available (or the test was run without applying flutter fixes first). This method/getter/setter/argument will be deprecated in a followup PR once the registered test is migrated. ### `Painting` Library | Affected API | State of `textScaleFactor` | Comment | | --- | --- | --- | | `InlineSpan.build({ double textScaleFactor = 1.0 })` argument | **Replaced** | | | `TextStyle.getParagraphStyle({ double TextScaleFactor = 1.0 })` argument | **Replaced** | | | `TextStyle.getTextStyle({ double TextScaleFactor = 1.0 })` argument| Deprecated | Can't replace: https://github.com/superlistapp/super_editor/blob/c47fd38dca4b7f43611690913b551a1773c563d7/super_editor/lib/src/infrastructure/super_textfield/desktop/desktop_textfield.dart#L1903-L1905| | `TextPainter({ double TextScaleFactor = 1.0 })` constructor argument | Deprecated | | | `TextPainter.textScaleFactor` getter and setter | Deprecated | No Flutter Fix, not expressible yet | | `TextPainter.computeWidth({ double TextScaleFactor = 1.0 })` argument | Deprecated | | | `TextPainter.computeMaxIntrinsicWidth({ double TextScaleFactor = 1.0 })` argument | Deprecated | | ### `Rendering` Library | Affected API | State of `textScaleFactor` | Comment | | --- | --- | --- | | `RenderEditable({ double TextScaleFactor = 1.0 })` constructor argument | Deprecated | | | `RenderEditable.textScaleFactor` getter and setter | Deprecated | No Flutter Fix, not expressible yet | | `RenderParagraph({ double TextScaleFactor = 1.0 })` constructor argument | Deprecated | | | `RenderParagraph.textScaleFactor` getter and setter | Deprecated | No Flutter Fix, not expressible yet | ### `Widgets` Library | Affected API | State of `textScaleFactor` | Comment | | --- | --- | --- | | `MediaQueryData({ double TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | https://github.com/flutter/packages/blob/cd7b93532e5cb605a42735e20f1de70fc00adae7/packages/flutter_markdown/test/text_scale_factor_test.dart#LL39C21-L39C35 | | `MediaQueryData.textScaleFactor` getter | Deprecated | | | `MediaQueryData.copyWith({ double? TextScaleFactor })` argument | Deprecated | | | `MediaQuery.maybeTextScaleFactorOf(BuildContext context)` static method | Deprecated | No Flutter Fix, not expressible yet | | `MediaQuery.textScaleFactorOf(BuildContext context)` static method | **To Be Deprecated** | https://github.com/flutter/packages/blob/cd7b93532e5cb605a42735e20f1de70fc00adae7/packages/flutter_markdown/lib/src/_functions_io.dart#L68-L70, No Flutter Fix, not expressible yet | | `RichText({ double TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | https://github.com/flutter/packages/blob/cd7b93532e5cb605a42735e20f1de70fc00adae7/packages/flutter_markdown/lib/src/builder.dart#L829-L843 | | `RichText.textScaleFactor` getter | **To Be Deprecated** | A constructor argument can't be deprecated right away| | `Text({ double? TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | https://github.com/flutter/packages/blob/914d120da12fba458c020210727831c31bd71041/packages/rfw/lib/src/flutter/core_widgets.dart#L647 , No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `Text.rich({ double? TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | The default constructor has an argument that can't be deprecated right away. No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `Text.textScaleFactor` getter | **To Be Deprecated** | A constructor argument can't be deprecated right away | | `EditableText({ double? TextScaleFactor = 1.0 })` constructor argument | Deprecated | No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `EditableText.textScaleFactor` getter | Deprecated | | ### `Material` Library | Affected API | State of `textScaleFactor` | Comment | | --- | --- | --- | | `SelectableText({ double? TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | https://github.com/flutter/packages/blob/cd7b93532e5cb605a42735e20f1de70fc00adae7/packages/flutter_markdown/lib/src/builder.dart#L829-L843, No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `SelectableText.rich({ double? TextScaleFactor = 1.0 })` constructor argument | **To Be Deprecated** | The default constructor has an argument that can't be deprecated right away. No Flutter Fix because of https://github.com/dart-lang/sdk/issues/52664 | | `SelectableText.textScaleFactor` getter | **To Be Deprecated** | A constructor argument can't be deprecated right away | A lot of material widgets (`Slider`, `RangeSlider`, `TimePicker`, and different types of buttons) also change their layout based on `textScaleFactor`. These need to be handled in a case-by-case fashion and will be migrated in follow-up PRs.
-
- 27 Jun, 2023 2 commits
-
-
Jason Simmons authored
Make a paragraph test involving Chinese characters work with inconsistent host system fonts (#129628) Text tests are run using the Ahem font, and test host environments such as LUCI may not provide a fallback font for Chinese glyphs.
-
hangyu authored
issue:#126652 in Chinese text, word length is 1 and (position.offset == word.end) happens a lot. Update if (position.offset >= word.end) to if (position.offset > word.end) to resolve the issue that Chinese characters are not selected.
-
- 09 Jun, 2023 1 commit
-
-
hangyu authored
fixes: #104703
-
- 26 May, 2023 1 commit
-
-
LongCatIsLooong authored
- Added `InlineWidgetContainerDefaults` for deduping inline widget code - Added a helper function `WidgetSpan.extractFromInlineSpan` for extracting `WidgetSpan`s and automatically applying text scaling (at widget level) - Removed `TextPainter.inlinePlaceholderScales`. I'm going to deprecate the `scale` argument in `TextPainter.addPlaceholder` next, as scaling is now done at the widget level. - Added runtime check and comments to make sure nobody is extending `PlaceholderSpan` directly (unfortunately we can't remove `PlaceholderSpan` without moving RenderEditable and RenderParagraph to the widgets library).
-
- 24 Mar, 2023 1 commit
-
-
LongCatIsLooong authored
Unskip #62819 Fixes #12357
-
- 09 Mar, 2023 1 commit
-
-
LongCatIsLooong authored
Reland "Update test font (#121306)"
-
- 06 Mar, 2023 2 commits
-
-
LongCatIsLooong authored
This reverts commit 9f69a367.
-
LongCatIsLooong authored
Update test font
-
- 23 Feb, 2023 1 commit
-
-
Lioness100 authored
* Fix typos * lowercase animated & opacity * Undo typo fix --------- Co-authored-by:
Michael Goderbauer <goderbauer@google.com>
-
- 21 Feb, 2023 1 commit
-
-
Mouad Debbar authored
* [web] Temporarily disable a line boundary test * [web] Unify line boundary expectations on web and non-web
-
- 17 Feb, 2023 1 commit
-
-
Mouad Debbar authored
-
- 05 Jan, 2023 1 commit
-
-
LongCatIsLooong authored
* Avoid affinity like the plague * ignore lint * clean up * fix test * review * Move wordboundary to text painter * docs * fix tests
-
- 20 Dec, 2022 1 commit
-
-
Michael Goderbauer authored
* Enable lint * note about discarded_futures * note about use_decorated_box * update note on require_trailing_commas
-
- 17 Dec, 2022 1 commit
-
-
Lucas.Xu authored
-
- 16 Dec, 2022 1 commit
-
-
Lucas.Xu authored
-
- 04 Nov, 2022 1 commit
-
-
chunhtai authored
* Support keyboard selection in selectable region * fix some comments * addressing comments
-
- 18 Jul, 2022 1 commit
-
-
Alexandre Ardhuin authored
-
- 01 Jul, 2022 1 commit
-
-
Xilai Zhang authored
This reverts commit 3f43d9f3.
-
- 29 Jun, 2022 1 commit
-
-
xubaolin authored
Fixes a text clipping edge case.
-
- 24 May, 2022 1 commit
-
-
chunhtai authored
* Support global selection * addressing comments * add new test * Addressing review comments * update * addressing comments * addressing comments * Addressing comments * fix build
-
- 18 Apr, 2022 1 commit
-
-
Justin McCandless authored
This reverts commit 08e467dd (Google test failures after merge).
-
- 14 Apr, 2022 2 commits
-
-
xubaolin authored
-
Michael Goderbauer authored
-
- 03 Feb, 2022 1 commit
-
-
Ian Hickson authored
-
- 08 Oct, 2021 3 commits
-
-
Ian Hickson authored
-
Zachary Anderson authored
This reverts commit 5fd259be.
-
Ian Hickson authored
-
- 26 Aug, 2021 1 commit
-
-
chunhtai authored
-
- 23 Aug, 2021 1 commit
-
-
chunhtai authored
* Fixes renderparagraph crashes due to truncated semantics node * add period
-
- 05 Aug, 2021 1 commit
-
-
Darren Austin authored
-
- 29 Jul, 2021 1 commit
-
-
olof-dev authored
-
- 23 Apr, 2021 1 commit
-
-
Alexandre Ardhuin authored
-
- 11 Feb, 2021 1 commit
-
-
Sam Rawlins authored
-
- 16 Nov, 2020 1 commit
-
-
Jason Simmons authored
-
- 07 Oct, 2020 1 commit
-
-
Kate Lovett authored
-
- 02 Oct, 2020 1 commit
-
-
Jason Simmons authored
-
- 09 Sep, 2020 1 commit
-
-
Anatoly Pulyaevskiy authored
-
- 31 Aug, 2020 1 commit
-
-
Chris Bracken authored
Flutter's `moreOrLessEquals` has a few advantages over `closeTo` from the `matcher` package: * It emits the epsilon value in the test result on failure. * It uses a named parameter for epsilon, which improves readability at the call site. * It has a reasonable default for epsilon in cases where something more specific isn't required. Using it also has the nice property that it aids in its own discovery when when people go looking for such functionality in new tests. This change also includes a couple unrelated whitespace formatting cleanups.
-
- 08 Aug, 2020 1 commit
-
-
chunhtai authored
-