buildScene method

Scene buildScene(
  1. SceneBuilder builder
)

Consider this layer as the root and build a scene (a tree of layers) in the engine.

Implementation

// The reason this method is in the `ContainerLayer` class rather than
// `PipelineOwner` or other singleton level is because this method can be used
// both to render the whole layer tree (e.g. a normal application frame) and
// to render a subtree (e.g. `OffsetLayer.toImage`).
ui.Scene buildScene(ui.SceneBuilder builder) {
  updateSubtreeNeedsAddToScene();
  addToScene(builder);
  if (subtreeHasCompositionCallbacks) {
    _fireCompositionCallbacks(includeChildren: true);
  }
  // Clearing the flag _after_ calling `addToScene`, not _before_. This is
  // because `addToScene` calls children's `addToScene` methods, which may
  // mark this layer as dirty.
  _needsAddToScene = false;
  final ui.Scene scene = builder.build();
  return scene;
}