> ## 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
  ```

  ## Argumenty

  <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>

  ## Zwroty

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

  ## Typy

  ### ImGuiWindow

  Uchwyt zwrócony przez imgui.create. Metody budowania kontroli zwracają ten sam uchwyt, dzięki czemu można łączyć wywołania.

  | Name               | Type                                                                                                                                            | Required | Opis                                                                                           |
  | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------- |
  | `Button`           | `(label: string, onClick: () -> ()) -> ImGuiWindow`                                                                                             | Yes      | Dołącza przycisk i wywołuje wywołanie zwrotne po kliknięciu.                                   |
  | `Checkbox`         | `(label: string, checked: any, onChange: (boolean) -> ()) -> ImGuiWindow`                                                                       | Yes      | Dołącza pole wyboru zainicjowane do podanego stanu.                                            |
  | `CollapsingHeader` | `(label: string, content: (ImGuiWindow) -> ()) -> ImGuiWindow`                                                                                  | Yes      | Grupuje kontrolki dołączone przez wywołanie zwrotne zawartości pod zwijanym nagłówkiem.        |
  | `ColorPicker`      | `(label: string, red: number?, green: number?, blue: number?, alpha: number?, onChange: (number, number, number, number) -> ()) -> ImGuiWindow` | Yes      | Dołącza edytor RGBA; pominięte komponenty kolorów mają domyślnie wartość 1.0.                  |
  | `InputText`        | `(label: string, text: string?, onChange: (string) -> ()) -> ImGuiWindow`                                                                       | Yes      | Dołącza jednowierszowy tekst; pominięty tekst początkowy domyślnie jest pustym ciągiem znaków. |
  | `SameLine`         | `() -> ImGuiWindow`                                                                                                                             | Yes      | Umieszcza następną kontrolkę w tej samej linii.                                                |
  | `Separator`        | `() -> ImGuiWindow`                                                                                                                             | Yes      | Dołącza separator poziomy.                                                                     |
  | `SliderFloat`      | `(label: string, value: number, minimum: number, maximum: number, onChange: (number) -> ()) -> ImGuiWindow`                                     | Yes      | Dołącza suwak zmiennoprzecinkowy.                                                              |
  | `SliderInt`        | `(label: string, value: integer, minimum: integer, maximum: integer, onChange: (number) -> ()) -> ImGuiWindow`                                  | Yes      | Dołącza suwak liczb całkowitych.                                                               |
  | `Text`             | `(text: string) -> ImGuiWindow`                                                                                                                 | Yes      | Dołącza tekst nieinteraktywny.                                                                 |
  | `destroy`          | `() -> ()`                                                                                                                                      | Yes      | Usuwa okno i zwalnia zarejestrowane wywołania zwrotne.                                         |
</div>
