コード例 #1
0
        /// <inheritdoc />
        public IRenderTarget CreateRenderTarget(IEnumerable <object> surfaces)
        {
            if (_customSkiaGpu != null)
            {
                ICustomSkiaRenderTarget customRenderTarget = _customSkiaGpu.TryCreateRenderTarget(surfaces);

                if (customRenderTarget != null)
                {
                    return(new CustomRenderTarget(customRenderTarget));
                }
            }

            foreach (var surface in surfaces)
            {
                if (surface is IGlPlatformSurface glSurface && GrContext != null)
                {
                    return(new GlRenderTarget(GrContext, glSurface));
                }
                if (surface is IFramebufferPlatformSurface framebufferSurface)
                {
                    return(new FramebufferRenderTarget(framebufferSurface));
                }
            }

            throw new NotSupportedException(
                      "Don't know how to create a Skia render target from any of provided surfaces");
        }
コード例 #2
0
 public CustomRenderTarget(ICustomSkiaRenderTarget renderTarget)
 {
     _renderTarget = renderTarget;
 }