private void DrawFill(ToolpathSet pathSetIn, SKCanvas baseCanvas)
        {
            SKColor fillColor = SkiaUtil.Color(255, 0, 255, 255);

            SKRect bounds = baseCanvas.LocalClipBounds;

            SKBitmap blitBitmap = new SKBitmap(PixelDimensions.x, PixelDimensions.y, SkiaUtil.ColorType(), SKAlphaType.Premul);
            IntPtr   len;

            using (var skSurface = SKSurface.Create(blitBitmap.Info.Width, blitBitmap.Info.Height, SkiaUtil.ColorType(), SKAlphaType.Premul, blitBitmap.GetPixels(out len), blitBitmap.Info.RowBytes)) {
                var canvas = skSurface.Canvas;

                canvas.Clear(SkiaUtil.Color(255, 255, 255, 255));

                using (var paint = new SKPaint()) {
                    paint.IsAntialias = true;
                    paint.StrokeWidth = dimensionScale * PathDiameterMM;
                    paint.Style       = SKPaintStyle.Stroke;
                    paint.StrokeCap   = SKStrokeCap.Round;
                    paint.StrokeJoin  = SKStrokeJoin.Round;
                    paint.Color       = fillColor;

                    Action <LinearToolpath3 <PrintVertex> > drawPath3F = (polyPath) => {
                        if (polyPath.Type != ToolpathTypes.Deposition)
                        {
                            return;
                        }
                        Vector3d v0          = polyPath.Start.Position;
                        byte     layer_alpha = LayerFilterF(v0);
                        if (layer_alpha != 255)
                        {
                            return;
                        }
                        SKPath path = MakePath(polyPath, SceneToSkiaF);
                        canvas.DrawPath(path, paint);
                    };

                    ProcessLinearPaths(pathSetIn, drawPath3F);
                }
            }


            SKPaint blitPaint = new SKPaint();

            blitPaint.IsAntialias = false;
            blitPaint.BlendMode   = SKBlendMode.SrcOver;
            blitPaint.Color       = SkiaUtil.Color(0, 0, 0, 64);

            baseCanvas.DrawBitmap(blitBitmap, 0, 0, blitPaint);

            blitPaint.Dispose();
            blitBitmap.Dispose();
        }