> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# ImGuiWindow.ColorPicker

> Appends a RGBA color editor to an ImGuiWindow and stores the callback. Missing or nil color components default to 1.0. When the rendered editor changes, the callback is queued and later invoked with red, green, blue, and alpha. The method returns the same ImGuiWindow object.

<div className="real-function-page">
  ```lua theme={null}
  ImGuiWindow.ColorPicker(window: ImGuiWindow, label: string, red?: number, green?: number, blue?: number, alpha?: number, onChange: function): ImGuiWindow
  ```

  ## Argumentos

  <ParamField path={"window"} type={"ImGuiWindow"} required>
    ImGuiWindow object returned by imgui.create. A destroyed or invalid window raises a Lua error.
  </ParamField>

  <ParamField path={"label"} type={"string"} required>
    Color editor label string passed to the rendered ImGui ColorEdit4 widget.
  </ParamField>

  <ParamField path={"red"} type={"number"}>
    Initial red component read with luaL\_optnumber; defaults to 1.0 when omitted or nil.
  </ParamField>

  <ParamField path={"green"} type={"number"}>
    Initial green component read with luaL\_optnumber; defaults to 1.0 when omitted or nil.
  </ParamField>

  <ParamField path={"blue"} type={"number"}>
    Initial blue component read with luaL\_optnumber; defaults to 1.0 when omitted or nil.
  </ParamField>

  <ParamField path={"alpha"} type={"number"}>
    Initial alpha component read with luaL\_optnumber; defaults to 1.0 when omitted or nil.
  </ParamField>

  <ParamField path={"onChange"} type={"function"} required>
    Function stored for this color editor and invoked with red, green, blue, and alpha after a change event is processed. It must be supplied as argument 7.
  </ParamField>

  ## Retornos

  <ResponseField name={"window"} type={"ImGuiWindow"}>
    The same ImGuiWindow object, allowing chained method calls.
  </ResponseField>

  ## Tipos

  ### ImGuiWindow

  Identificador devuelto por imgui.create. Los métodos de creación de control devuelven el mismo identificador para que las llamadas se puedan encadenar.

  | Name               | Type                                                                                                                                            | Required | Descripción                                                                                                 |
  | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
  | `Button`           | `(label: string, onClick: () -> ()) -> ImGuiWindow`                                                                                             | Yes      | Agrega un botón e invoca la devolución de llamada después de un clic.                                       |
  | `Checkbox`         | `(label: string, checked: any, onChange: (boolean) -> ()) -> ImGuiWindow`                                                                       | Yes      | Agrega una casilla de verificación inicializada al estado proporcionado.                                    |
  | `CollapsingHeader` | `(label: string, content: (ImGuiWindow) -> ()) -> ImGuiWindow`                                                                                  | Yes      | Controles de grupos agregados por la devolución de llamada de contenido debajo de un encabezado colapsable. |
  | `ColorPicker`      | `(label: string, red: number?, green: number?, blue: number?, alpha: number?, onChange: (number, number, number, number) -> ()) -> ImGuiWindow` | Yes      | Agrega un editor RGBA; Los componentes de color omitidos tienen el valor predeterminado 1.0.                |
  | `InputText`        | `(label: string, text: string?, onChange: (string) -> ()) -> ImGuiWindow`                                                                       | Yes      | Agrega una entrada de texto de una sola línea; El texto inicial omitido tiene por defecto una cadena vacía. |
  | `SameLine`         | `() -> ImGuiWindow`                                                                                                                             | Yes      | Coloca el siguiente control en la misma línea.                                                              |
  | `Separator`        | `() -> ImGuiWindow`                                                                                                                             | Yes      | Añade un separador horizontal.                                                                              |
  | `SliderFloat`      | `(label: string, value: number, minimum: number, maximum: number, onChange: (number) -> ()) -> ImGuiWindow`                                     | Yes      | Agrega un control deslizante de punto flotante.                                                             |
  | `SliderInt`        | `(label: string, value: integer, minimum: integer, maximum: integer, onChange: (number) -> ()) -> ImGuiWindow`                                  | Yes      | Agrega un control deslizante de número entero.                                                              |
  | `Text`             | `(text: string) -> ImGuiWindow`                                                                                                                 | Yes      | Añade texto no interactivo.                                                                                 |
  | `destroy`          | `() -> ()`                                                                                                                                      | Yes      | Elimina la ventana y libera sus devoluciones de llamada registradas.                                        |
</div>
