docs: def color_to_rgb_or_rgba(color, alpha_float=True):
      """\
      Returns the provided color as ``(R, G, B)`` or ``(R, G, B, A)`` tuple.
  
      If the alpha value is opaque, an RGB tuple is returned, otherwise an RGBA
      tuple.
  
      :param color: A web color name (i.e. ``darkblue``) or a hexadecimal value
              (``#RGB`` or ``#RRGGBB``) or a RGB(A) tuple (i.e. ``(R, G, B)`` or
              ``(R, G, B, A)``)
      :param bool alpha_float: Indicates if the alpha value should be returned as
              float value. If ``False``, the alpha value is an integer value in
              the range of ``0 .. 254``.
      :rtype: tuple
      """
      rgba = color_to_rgba(color, alpha_float=alpha_float)
      if rgba[3] in (1.0, 255):
          return rgba[:3]
      return rgba