renderTree method
void
renderTree(
- Canvas canvas
)
Implementation
void renderTree(Canvas canvas) {
final context = renderContext;
if (context != null) {
_renderContexts.add(context);
}
render(canvas);
final children = _children;
if (children != null) {
for (final child in children) {
final hasContext = _renderContexts.isNotEmpty;
if (hasContext) {
child._renderContexts.addAll(_renderContexts);
}
child.renderTree(canvas);
if (hasContext) {
child._renderContexts.removeRange(
_renderContexts.length,
child._renderContexts.length,
);
}
}
}
// Any debug rendering should be rendered on top of everything
if (debugMode) {
renderDebugMode(canvas);
}
if (context != null) {
_renderContexts.removeLast();
}
}