renderTree method

  1. @override
void renderTree(
  1. Canvas canvas
)
override

Renders the world as seen through this camera.

If the world is not mounted yet, only the viewport HUD elements will be rendered.

Implementation

@override
void renderTree(Canvas canvas) {
  canvas.save();
  canvas.translate(viewport.position.x, viewport.position.y);
  // Render the world through the viewport
  if (world.isMounted && currentCameras.length < maxCamerasDepth) {
    canvas.save();
    viewport.clip(canvas);
    try {
      currentCameras.add(this);
      canvas.transform(viewfinder.transformMatrix.storage);
      world.renderFromCamera(canvas);
      viewfinder.renderTree(canvas);
    } finally {
      currentCameras.removeLast();
    }
    canvas.restore();
  }
  // Now render the HUD elements
  viewport.renderTree(canvas);
  canvas.restore();
}