code: func (c *Radio) Draw() {
  	if c.hidden {
  		return
  	}
  
  	PushAttributes()
  	defer PopAttributes()
  
  	x, y := c.Pos()
  	w, h := c.Size()
  
  	fg, bg := RealColor(c.fg, c.Style(), ColorControlText), RealColor(c.bg, c.Style(), ColorControlBack)
  	if !c.Enabled() {
  		fg, bg = RealColor(c.fg, c.Style(), ColorControlDisabledText), RealColor(c.bg, c.Style(), ColorControlDisabledBack)
  	} else if c.Active() {
  		fg, bg = RealColor(c.fg, c.Style(), ColorControlActiveText), RealColor(c.bg, c.Style(), ColorControlActiveBack)
  	}
  
  	parts := []rune(SysObject(ObjRadio))
  	cOpen, cClose, cEmpty, cCheck := parts[0], parts[1], parts[2], parts[3]
  	cState := cEmpty
  	if c.selected {
  		cState = cCheck
  	}
  
  	SetTextColor(fg)
  	SetBackColor(bg)
  	FillRect(x, y, w, h, ' ')
  	if w < 3 {
  		return
  	}
  
  	PutChar(x, y, cOpen)
  	PutChar(x+2, y, cClose)
  	PutChar(x+1, y, cState)
  
  	if w < 5 {
  		return
  	}
  
  	shift, text := AlignColorizedText(c.title, w-4, c.align)
  	DrawText(x+4+shift, y, text)
  }
docs: // Repaint draws the control on its View surface