code: func (t *Text) Draw() {
  	v := t.view
  	if v == nil {
  		return
  	}
  
  	width, height := v.Size()
  	if width == 0 || height == 0 {
  		return
  	}
  
  	t.clear()
  
  	// Note that we might wind up with a negative X if the width
  	// is larger than the length.  That's OK, and correct even.
  	// The view will clip it properly in that case.
  
  	// We align to the left & top by default.
  	y := t.calcY(height)
  	r := rune(0)
  	w := 0
  	x := 0
  	var styl tcell.Style
  	var comb []rune
  	line := 0
  	newline := true
  	for i, l := range t.text {
  
  		if newline {
  			x = t.calcX(width, line)
  			newline = false
  		}
  		if l == '\n' {
  			if w != 0 {
  				v.SetContent(x, y, r, comb, styl)
  			}
  			newline = true
  			w = 0
  			comb = nil
  			line++
  			y++
  			continue
  		}
  		if t.widths[i] == 0 {
  			comb = append(comb, l)
  			continue
  		}
  		if w != 0 {
  			v.SetContent(x, y, r, comb, styl)
  			x += w
  		}
  		r = l
  		w = t.widths[i]
  		styl = t.styles[i]
  		comb = nil
  	}
  	if w != 0 {
  		v.SetContent(x, y, r, comb, styl)
  	}
  }
docs: // Draw draws the Text.