visitChildrenAndTextRenderers method
Walks this RenderObject tree in a depth-first pre-order traversal, calling visitor
for each child.
If visitor
returns true, the walk continues, otherwise it is canceled.
Implementation
bool visitChildrenAndTextRenderers(CancelableObjectVisitor visitor) {
var canceled = false;
var firstTime = true;
// Local render object visitor function.
void renderObjectVisitor(RenderObject ro) {
if (canceled) return; //----------------------------------->
if (ro is VisitChildrenOfAnyTypeMixin) {
if (firstTime) firstTime = false;
canceled = !(ro as VisitChildrenOfAnyTypeMixin).visitChildrenOfAnyType(visitor);
} else {
if (firstTime) {
firstTime = false;
} else {
canceled = !visitor(ro);
}
if (!canceled) ro.visitChildren(renderObjectVisitor);
}
}
renderObjectVisitor(this);
return !canceled;
}