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.
Description
An annotator tree is a tree built during painting, consisting of annotators, which can generate annotations when searched. This replaces the existing layer-based annotations.
For background, reasoning, and detailed design, see https://flutter.dev/go/annotator-tree.
As the first of the two steps of the annotator tree, this PR introduces the following changes:
RenderObject.paint
usingPaintingContext.pushAnnotator()
RenderView.search()
andRenderView.searchFirst()
Layer.find
Layer.findAnnotations
Layer.findAll
Layer.findAllAnnotations
PlatformViewLayer.{constructor}.hoverAnnotation
PlatformViewLayer.hoverAnnotation
AnnotatedRegionLayer
Most behaviors should be compatible, except for some trivial APIs. However, everything marked deprecated should be fixed soon as they will be removed in step 2.
#41194 is not solved for now due to compatibility, but will be solved in step 2.
Related Issues
Tests
I added the following tests:
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]
). This will ensure a smooth and quick review process.///
).flutter analyze --flutter-repo
) does not report any problems on my PR.Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.