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

  ## Argumente

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

  ## Rückgaben

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

  ## Typen

  ### ImGuiWindow

  Von imgui.create zurückgegebener Handle. Methoden zur Steuerungserstellung geben dasselbe Handle zurück, sodass Aufrufe verkettet werden können.

  | Name               | Type                                                                                                                                            | Required | Beschreibung                                                                                                    |
  | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------- |
  | `Button`           | `(label: string, onClick: () -> ()) -> ImGuiWindow`                                                                                             | Yes      | Fügt eine Schaltfläche hinzu und ruft den Rückruf nach einem Klick auf.                                         |
  | `Checkbox`         | `(label: string, checked: any, onChange: (boolean) -> ()) -> ImGuiWindow`                                                                       | Yes      | Fügt ein initialisiertes Kontrollkästchen an den bereitgestellten Status an.                                    |
  | `CollapsingHeader` | `(label: string, content: (ImGuiWindow) -> ()) -> ImGuiWindow`                                                                                  | Yes      | Gruppiert Steuerelemente, die durch den Inhaltsrückruf unter einem zusammenklappbaren Header angehängt werden.  |
  | `ColorPicker`      | `(label: string, red: number?, green: number?, blue: number?, alpha: number?, onChange: (number, number, number, number) -> ()) -> ImGuiWindow` | Yes      | Fügt einen RGBA-Editor hinzu; Ausgelassene Farbkomponenten sind standardmäßig auf 1,0 eingestellt.              |
  | `InputText`        | `(label: string, text: string?, onChange: (string) -> ()) -> ImGuiWindow`                                                                       | Yes      | Fügt eine einzeilige Texteingabe hinzu; Der weggelassene Anfangstext ist standardmäßig eine leere Zeichenfolge. |
  | `SameLine`         | `() -> ImGuiWindow`                                                                                                                             | Yes      | Platziert das nächste Steuerelement in derselben Zeile.                                                         |
  | `Separator`        | `() -> ImGuiWindow`                                                                                                                             | Yes      | Fügt ein horizontales Trennzeichen hinzu.                                                                       |
  | `SliderFloat`      | `(label: string, value: number, minimum: number, maximum: number, onChange: (number) -> ()) -> ImGuiWindow`                                     | Yes      | Fügt einen Gleitkomma-Schieberegler hinzu.                                                                      |
  | `SliderInt`        | `(label: string, value: integer, minimum: integer, maximum: integer, onChange: (number) -> ()) -> ImGuiWindow`                                  | Yes      | Fügt einen ganzzahligen Schieberegler hinzu.                                                                    |
  | `Text`             | `(text: string) -> ImGuiWindow`                                                                                                                 | Yes      | Fügt nicht interaktiven Text hinzu.                                                                             |
  | `destroy`          | `() -> ()`                                                                                                                                      | Yes      | Entfernt das Fenster und gibt seine registrierten Rückrufe frei.                                                |
</div>
