public void DrawRadioField(float llx, float lly, float urx, float ury, bool on)
{
if (llx > urx) { float x = llx; llx = urx; urx = x; }
if (lly > ury) { float y = lly; lly = ury; ury = y; }
SaveState();
// silver circle
SetLineWidth(1);
SetLineCap(1);
SetColorStroke(new BaseColor(0xC0, 0xC0, 0xC0));
Arc(llx + 1f, lly + 1f, urx - 1f, ury - 1f, 0f, 360f);
Stroke();
// gray circle-segment
SetLineWidth(1);
SetLineCap(1);
SetColorStroke(new BaseColor(0xA0, 0xA0, 0xA0));
Arc(llx + 0.5f, lly + 0.5f, urx - 0.5f, ury - 0.5f, 45, 180);
Stroke();
// black circle-segment
SetLineWidth(1);
SetLineCap(1);
SetColorStroke(new BaseColor(0x00, 0x00, 0x00));
Arc(llx + 1.5f, lly + 1.5f, urx - 1.5f, ury - 1.5f, 45, 180);
Stroke();
if (on) {
// gray circle
SetLineWidth(1);
SetLineCap(1);
SetColorFill(new BaseColor(0x00, 0x00, 0x00));
Arc(llx + 4f, lly + 4f, urx - 4f, ury - 4f, 0, 360);
Fill();
}
RestoreState();
}