public override void paint(Canvas canvas, Size size)
        {
            Paint paint = new Paint();

            paint.color       = this.valueColor;
            paint.strokeWidth = this.strokeWidth ?? 0.0f;
            paint.style       = PaintingStyle.stroke;

            if (this.backgroundColor != null)
            {
                Paint backgroundPaint = new Paint()
                {
                    color       = this.backgroundColor,
                    strokeWidth = this.strokeWidth ?? 0.0f,
                    style       = PaintingStyle.stroke
                };
                canvas.drawArc(Offset.zero & size, 0, _sweep, false, backgroundPaint);
            }

            if (this.value == null)
            {
                paint.strokeCap = StrokeCap.square;
            }

            canvas.drawArc(Offset.zero & size, this.arcStart ?? 0.0f, this.arcSweep ?? 0.0f, false, paint);
        }