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