Пример #1
0
        public override void DrawRect(CoreGraphics.CGRect dirtyRect)
        {
            base.DrawRect(dirtyRect);

            if (grContext != null)
            {
                var sampleCount = grContext.GetRecommendedSampleCount(GRPixelConfig.Rgba8888, 96.0f);

                var desc = new GRBackendRenderTargetDesc
                {
                    Width              = (int)Bounds.Width,
                    Height             = (int)Bounds.Height,
                    Config             = GRPixelConfig.Rgba8888,
                    Origin             = GRSurfaceOrigin.TopLeft,
                    SampleCount        = sampleCount,
                    StencilBits        = 0,
                    RenderTargetHandle = IntPtr.Zero,
                };

                using (var surface = SKSurface.Create(grContext, desc))
                {
                    var skcanvas = surface.Canvas;

                    sample.Method(skcanvas, (int)Bounds.Width, (int)Bounds.Height);

                    skcanvas.Flush();
                }

                GL.Flush();
            }
        }