renderTree method

void renderTree(
  1. Canvas canvas
)

Implementation

void renderTree(Canvas canvas) {
  final context = renderContext;
  List<ComponentRenderContext>? renderContexts;
  if (context != null) {
    renderContexts = _renderContexts ??= [];
    renderContexts.add(context);
  }

  render(canvas);
  final children = _children;
  if (children != null) {
    for (final child in children._elements) {
      if (child != null) {
        renderChild(canvas, child);
      }
    }
    afterChildrenRendered(canvas);
  }

  // Any debug rendering should be rendered on top of everything
  if (debugMode) {
    renderDebugMode(canvas);
  }

  renderContexts?.removeLast();
}