Update annotated region findAll implementation to use Iterable (#35725)
This commit is contained in:
parent
bcd28e7e45
commit
cac8835de3
@ -524,10 +524,12 @@ class ContainerLayer extends Layer {
|
|||||||
'for more details.'),
|
'for more details.'),
|
||||||
library: 'rendering library',
|
library: 'rendering library',
|
||||||
context: ErrorDescription('during compositing'),
|
context: ErrorDescription('during compositing'),
|
||||||
informationCollector: () sync* {
|
informationCollector: () {
|
||||||
yield child.toDiagnosticsNode(name: 'Attempted to composite layer', style: DiagnosticsTreeStyle.errorProperty);
|
return <DiagnosticsNode>[
|
||||||
yield predecessor.toDiagnosticsNode(name: 'after layer', style: DiagnosticsTreeStyle.errorProperty);
|
child.toDiagnosticsNode(name: 'Attempted to composite layer', style: DiagnosticsTreeStyle.errorProperty),
|
||||||
yield ErrorDescription('which occupies the same area at a higher elevation.');
|
predecessor.toDiagnosticsNode(name: 'after layer', style: DiagnosticsTreeStyle.errorProperty),
|
||||||
|
ErrorDescription('which occupies the same area at a higher elevation.'),
|
||||||
|
];
|
||||||
}
|
}
|
||||||
));
|
));
|
||||||
return <PictureLayer>[
|
return <PictureLayer>[
|
||||||
@ -615,16 +617,18 @@ class ContainerLayer extends Layer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<S> findAll<S>(Offset regionOffset) sync* {
|
Iterable<S> findAll<S>(Offset regionOffset) {
|
||||||
|
Iterable<S> result = Iterable<S>.empty();
|
||||||
if (firstChild == null)
|
if (firstChild == null)
|
||||||
return;
|
return result;
|
||||||
Layer child = lastChild;
|
Layer child = lastChild;
|
||||||
while (true) {
|
while (true) {
|
||||||
yield* child.findAll<S>(regionOffset);
|
result = result.followedBy(child.findAll<S>(regionOffset));
|
||||||
if (child == firstChild)
|
if (child == firstChild)
|
||||||
break;
|
break;
|
||||||
child = child.previousSibling;
|
child = child.previousSibling;
|
||||||
}
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -1006,10 +1010,10 @@ class ClipRectLayer extends ContainerLayer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<S> findAll<S>(Offset regionOffset) sync* {
|
Iterable<S> findAll<S>(Offset regionOffset) {
|
||||||
if (!clipRect.contains(regionOffset))
|
if (!clipRect.contains(regionOffset))
|
||||||
return;
|
return Iterable<S>.empty();
|
||||||
yield* super.findAll<S>(regionOffset);
|
return super.findAll<S>(regionOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -1087,10 +1091,10 @@ class ClipRRectLayer extends ContainerLayer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<S> findAll<S>(Offset regionOffset) sync* {
|
Iterable<S> findAll<S>(Offset regionOffset) {
|
||||||
if (!clipRRect.contains(regionOffset))
|
if (!clipRRect.contains(regionOffset))
|
||||||
return;
|
return Iterable<S>.empty();
|
||||||
yield* super.findAll<S>(regionOffset);
|
return super.findAll<S>(regionOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -1168,10 +1172,10 @@ class ClipPathLayer extends ContainerLayer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<S> findAll<S>(Offset regionOffset) sync* {
|
Iterable<S> findAll<S>(Offset regionOffset) {
|
||||||
if (!clipPath.contains(regionOffset))
|
if (!clipPath.contains(regionOffset))
|
||||||
return;
|
return Iterable<S>.empty();
|
||||||
yield* super.findAll<S>(regionOffset);
|
return super.findAll<S>(regionOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -1264,12 +1268,12 @@ class TransformLayer extends OffsetLayer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<S> findAll<S>(Offset regionOffset) sync* {
|
Iterable<S> findAll<S>(Offset regionOffset) {
|
||||||
final Offset transformedOffset = _transformOffset(regionOffset);
|
final Offset transformedOffset = _transformOffset(regionOffset);
|
||||||
if (transformedOffset == null) {
|
if (transformedOffset == null) {
|
||||||
return;
|
return Iterable<S>.empty();
|
||||||
}
|
}
|
||||||
yield* super.findAll<S>(transformedOffset);
|
return super.findAll<S>(transformedOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -1582,10 +1586,10 @@ class PhysicalModelLayer extends ContainerLayer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<S> findAll<S>(Offset regionOffset) sync* {
|
Iterable<S> findAll<S>(Offset regionOffset) {
|
||||||
if (!clipPath.contains(regionOffset))
|
if (!clipPath.contains(regionOffset))
|
||||||
return;
|
return Iterable<S>.empty();
|
||||||
yield* super.findAll<S>(regionOffset);
|
return super.findAll<S>(regionOffset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -2031,20 +2035,21 @@ class AnnotatedRegionLayer<T> extends ContainerLayer {
|
|||||||
final S typedResult = untypedResult;
|
final S typedResult = untypedResult;
|
||||||
return typedResult;
|
return typedResult;
|
||||||
}
|
}
|
||||||
return super.find<S>(regionOffset);
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Iterable<S> findAll<S>(Offset regionOffset) sync* {
|
Iterable<S> findAll<S>(Offset regionOffset) {
|
||||||
yield* super.findAll<S>(regionOffset);
|
final Iterable<S> childResults = super.findAll<S>(regionOffset);
|
||||||
if (size != null && !(offset & size).contains(regionOffset)) {
|
if (size != null && !(offset & size).contains(regionOffset)) {
|
||||||
return;
|
return childResults;
|
||||||
}
|
}
|
||||||
if (T == S) {
|
if (T == S) {
|
||||||
final Object untypedResult = value;
|
final Object untypedResult = value;
|
||||||
final S typedResult = untypedResult;
|
final S typedResult = untypedResult;
|
||||||
yield typedResult;
|
return childResults.followedBy(<S>[typedResult]);
|
||||||
}
|
}
|
||||||
|
return childResults;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user