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

  ## Аргументы

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

  ## Возвраты

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

  ## Типы

  ### ImGuiWindow

  Дескриптор, возвращаемый imgui.create. Методы создания элементов управления возвращают один и тот же дескриптор, поэтому вызовы можно объединять в цепочки.

  | Name               | Type                                                                                                                                            | Required | Описание                                                                                                        |
  | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------- |
  | `Button`           | `(label: string, onClick: () -> ()) -> ImGuiWindow`                                                                                             | Yes      | Добавляет кнопку и вызывает обратный вызов после щелчка.                                                        |
  | `Checkbox`         | `(label: string, checked: any, onChange: (boolean) -> ()) -> ImGuiWindow`                                                                       | Yes      | Добавляет флажок, инициализированный в указанное состояние.                                                     |
  | `CollapsingHeader` | `(label: string, content: (ImGuiWindow) -> ()) -> ImGuiWindow`                                                                                  | Yes      | Элементы управления группами, добавляемые обратным вызовом содержимого под сворачивающимся заголовком.          |
  | `ColorPicker`      | `(label: string, red: number?, green: number?, blue: number?, alpha: number?, onChange: (number, number, number, number) -> ()) -> ImGuiWindow` | Yes      | Добавляет редактор RGBA; опущенные цветовые компоненты по умолчанию равны 1.0.                                  |
  | `InputText`        | `(label: string, text: string?, onChange: (string) -> ()) -> ImGuiWindow`                                                                       | Yes      | Добавляет однострочный текстовый ввод; опущенный начальный текст по умолчанию представляет собой пустую строку. |
  | `SameLine`         | `() -> ImGuiWindow`                                                                                                                             | Yes      | Размещает следующий элемент управления в той же строке.                                                         |
  | `Separator`        | `() -> ImGuiWindow`                                                                                                                             | Yes      | Добавляет горизонтальный разделитель.                                                                           |
  | `SliderFloat`      | `(label: string, value: number, minimum: number, maximum: number, onChange: (number) -> ()) -> ImGuiWindow`                                     | Yes      | Добавляет ползунок с плавающей запятой.                                                                         |
  | `SliderInt`        | `(label: string, value: integer, minimum: integer, maximum: integer, onChange: (number) -> ()) -> ImGuiWindow`                                  | Yes      | Добавляет целочисленный ползунок.                                                                               |
  | `Text`             | `(text: string) -> ImGuiWindow`                                                                                                                 | Yes      | Добавляет неинтерактивный текст.                                                                                |
  | `destroy`          | `() -> ()`                                                                                                                                      | Yes      | Удаляет окно и освобождает зарегистрированные обратные вызовы.                                                  |
</div>
