code: func drawButton(out *command.Buffer, bounds rect.Rect, state nstyle.WidgetStates, style *nstyle.Button) *nstyle.Item {
  	var background *nstyle.Item
  	if state&nstyle.WidgetStateHovered != 0 {
  		background = &style.Hover
  	} else if state&nstyle.WidgetStateActive != 0 {
  		background = &style.Active
  	} else {
  		background = &style.Normal
  	}
  
  	if background.Type == nstyle.ItemImage {
  		out.DrawImage(bounds, background.Data.Image)
  	} else {
  		out.FillRect(bounds, style.Rounding, style.BorderColor)
  		out.FillRect(shrinkRect(bounds, style.Border), style.Rounding, background.Data.Color)
  	}
  
  	return background
  }
docs: ///////////////////////////////////////////////////////////////////////////////////
  // BUTTON
  ///////////////////////////////////////////////////////////////////////////////////