Sub Button1_Click
cx = pCanvas2.Width / 2
cy = pCanvas2.Height / 2
radius2 = cx - 20dip
clrFull = xui.PaintOrColorToColor(Colors.Blue)
clrEmpty = xui.PaintOrColorToColor(Colors.Gray)
stroke = DipToCurrent(2)
DrawValue(80)
End Sub
Private Sub DrawValue(Value As Float)
cvs.ClearRect(cvs.TargetRect)
cvs.DrawCircle(cx, cy, radius2, clrEmpty, False, stroke)
Dim startAngle = -160, sweepAngle = Value / 100 * 360 As Float
If Value < 100 Then
Dim p As B4XPath
p.InitializeArc(cx, cy, radius2 + stroke + 1dip, startAngle, sweepAngle)
cvs.ClipPath(p)
cvs.DrawCircle(cx, cy, radius2 - 0.5dip, clrFull, False, stroke + 1dip)
cvs.RemoveClip
cvs.DrawLine(radius2 - 110, radius2 - 90, cx - 30, cy + 20, Colors.Red, DipToCurrent(3))
Else
cvs.DrawCircle(cx, cy, radius2 - 0.5dip, clrFull, False, stroke + 1dip)
End If
cvs.Invalidate
End Sub