code: func (l *TableView) Draw() {
  	if l.hidden {
  		return
  	}
  
  	l.mtx.RLock()
  	defer l.mtx.RUnlock()
  	PushAttributes()
  	defer PopAttributes()
  
  	x, y := l.Pos()
  	w, h := l.Size()
  
  	if l.onBeforeDraw != nil {
  		firstCol, firstRow, colCount, rowCount := l.VisibleArea()
  		l.onBeforeDraw(firstCol, firstRow, colCount, rowCount)
  	}
  
  	bg := RealColor(l.bg, l.Style(), ColorTableBack)
  	SetBackColor(bg)
  	FillRect(x, y+2, w, h-2, ' ')
  	l.drawHeader()
  	l.drawScroll()
  	l.drawCells()
  }
docs: // Repaint draws the control on its View surface