code: func (v *View) setRune(x, y int, ch rune, fgColor, bgColor Attribute) error {
  	maxX, maxY := v.Size()
  	if x < 0 || x >= maxX || y < 0 || y >= maxY {
  		return errors.New("invalid point")
  	}
  
  	var (
  		ry, rcy int
  		err     error
  	)
  	if v.Highlight {
  		_, ry, err = v.realPosition(x, y)
  		if err != nil {
  			return err
  		}
  		_, rcy, err = v.realPosition(v.cx, v.cy)
  		if err != nil {
  			return err
  		}
  	}
  
  	if v.Mask != 0 {
  		fgColor = v.FgColor
  		bgColor = v.BgColor
  		ch = v.Mask
  	} else if v.Highlight && ry == rcy {
  		fgColor = v.SelFgColor
  		bgColor = v.SelBgColor
  	}
  
  	termbox.SetCell(v.x0+x+1, v.y0+y+1, ch,
  		termbox.Attribute(fgColor), termbox.Attribute(bgColor))
  
  	return nil
  }
docs: // setRune sets a rune at the given point relative to the view. It applies the
  // specified colors, taking into account if the cell must be highlighted. Also,
  // it checks if the position is valid.