addToScene method

  1. @override
EngineLayer addToScene (SceneBuilder builder, [ Offset layerOffset = Offset.zero ])
override

Override this method to upload this layer to the engine.

Return the engine layer for retained rendering. When there's no corresponding engine layer, null is returned.

Implementation

@override
ui.EngineLayer addToScene(ui.SceneBuilder builder, [Offset layerOffset = Offset.zero]) {
  // Skia has a fast path for concatenating scale/translation only matrices.
  // Hence pushing a translation-only transform layer should be fast. For
  // retained rendering, we don't want to push the offset down to each leaf
  // node. Otherwise, changing an offset layer on the very high level could
  // cascade the change to too many leaves.
  final ui.EngineLayer engineLayer = builder.pushOffset(layerOffset.dx + offset.dx, layerOffset.dy + offset.dy);
  addChildrenToScene(builder);
  builder.pop();
  return engineLayer;
}