collectInlineImages function
Collects FluentImage in visitation order (both direct and
those inside Link). Must produce the same order used by
_buildTextSpanAndTrackPositions, so the placeholder index aligns
the child RenderBox.
Implementation
List<FluentImage> collectInlineImages(InlineContainerNode container) {
final result = <FluentImage>[];
void visit(FNode node) {
if (node is FluentImage) {
result.add(node);
return;
}
if (node is Link) {
for (final child in node.getChildren()) {
if (child is FluentImage) result.add(child);
}
return;
}
if (node is FluentList) return;
if (node is InlineContainerNode) {
for (final child in (node as InlineContainerNode).getChildren()) {
visit(child);
}
}
}
for (final child in container.getChildren()) {
visit(child);
}
return result;
}