//C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#:
        //ORIGINAL LINE: void Paint(CompositorContext::ScopedFrame& frame, bool ignore_raster_cache = false) const
        public void Paint(CompositorContext.ScopedFrame frame, bool ignore_raster_cache = false)
        {
            TRACE_EVENT0("flutter", "LayerTree::Paint");
            Layer.PaintContext context = new Layer.PaintContext(frame.canvas(), frame.view_embedder(), frame.context().texture_registry(), ignore_raster_cache ? null : frame.context().raster_cache(), checkerboard_offscreen_layers_);

            if (root_layer_.needs_painting())
            {
                root_layer_.Paint(context);
            }
        }
        //C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
        //  public void Dispose();

        public void Preroll(CompositorContext.ScopedFrame frame, bool ignore_raster_cache = false)
        {
            TRACE_EVENT0("flutter", "LayerTree::Preroll");

            //frame.canvas().imageInfo().colorSpace()
            SKColorSpace color_space = frame.canvas() != null ? SKImageInfo.Empty.ColorSpace : null;

            frame.context().raster_cache().SetCheckboardCacheImages(checkerboard_raster_cache_images_);
            PrerollContext context = ignore_raster_cache ? null :new PrerollContext(frame.context().raster_cache(), frame.gr_context(), color_space, SKRect.Empty, frame.context().texture_registry(), checkerboard_offscreen_layers_);

            root_layer_.Preroll(context, frame.root_surface_transformation());
        }