code: func (g *Gui) SetView(name string, x0, y0, x1, y1 int) (*View, error) {
  	if x0 >= x1 || y0 >= y1 {
  		return nil, errors.New("invalid dimensions")
  	}
  	if name == "" {
  		return nil, errors.New("invalid name")
  	}
  
  	if v, err := g.View(name); err == nil {
  		v.x0 = x0
  		v.y0 = y0
  		v.x1 = x1
  		v.y1 = y1
  		v.tainted = true
  		return v, nil
  	}
  
  	v := newView(name, x0, y0, x1, y1, g.outputMode)
  	v.BgColor, v.FgColor = g.BgColor, g.FgColor
  	v.SelBgColor, v.SelFgColor = g.SelBgColor, g.SelFgColor
  	g.views = append(g.views, v)
  	return v, ErrUnknownView
  }
docs: // SetView creates a new view with its top-left corner at (x0, y0)
  // and the bottom-right one at (x1, y1). If a view with the same name
  // already exists, its dimensions are updated; otherwise, the error
  // ErrUnknownView is returned, which allows to assert if the View must
  // be initialized. It checks if the position is valid.