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

> Destroys an ImGuiWindow. If the object still points to a window, the method removes that window from Real's tracked ImGui window list, unreferences stored element callbacks, deletes the window record, and sets the Instance reference to nil. Calling destroy again on the same object returns without doing anything.

<div className="real-function-page">
  ```lua theme={null}
  ImGuiWindow.destroy(window: ImGuiWindow)
  ```

  ## Arguments

  <ParamField path={"window"} type={"ImGuiWindow"} required>
    ImGuiWindow object returned by imgui.create. Non-ImGuiWindow values raise a Lua error.
  </ParamField>

  ## Types

  ### ImGuiWindow

  Handle returned by imgui.create. Control-building methods return the same handle so calls can be chained.

  | Name               | Type                                                                                                                                            | Required | Description                                                                                         |
  | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------- |
  | `Button`           | `(label: string, onClick: () -> ()) -> ImGuiWindow`                                                                                             | Yes      | Appends a button and queues the callback with no arguments after a click.                           |
  | `Checkbox`         | `(label: string, checked: any, onChange: (boolean) -> ()) -> ImGuiWindow`                                                                       | Yes      | Appends a checkbox initialized from the checked value.                                              |
  | `CollapsingHeader` | `(label: string, content: (ImGuiWindow) -> ()) -> ImGuiWindow`                                                                                  | Yes      | Immediately runs content to append elements that render under a collapsible header.                 |
  | `ColorPicker`      | `(label: string, red: number?, green: number?, blue: number?, alpha: number?, onChange: (number, number, number, number) -> ()) -> ImGuiWindow` | Yes      | Appends a ColorEdit4-backed RGBA editor; onChange is read from argument 7.                          |
  | `InputText`        | `(label: string, text: string?, onChange: (string) -> ()) -> ImGuiWindow`                                                                       | Yes      | Appends a single-line InputText using a fixed 256-byte buffer; onChange is argument 4.              |
  | `SameLine`         | `() -> ImGuiWindow`                                                                                                                             | Yes      | Appends a SameLine layout marker that calls same-line layout during rendering.                      |
  | `Separator`        | `() -> ImGuiWindow`                                                                                                                             | Yes      | Appends a Separator marker that calls a separator during rendering.                                 |
  | `SliderFloat`      | `(label: string, value: number, minimum: number, maximum: number, onChange: (number) -> ()) -> ImGuiWindow`                                     | Yes      | Appends a SliderFloat element and queues onChange with one Lua number when the value changes.       |
  | `SliderInt`        | `(label: string, value: integer, minimum: integer, maximum: integer, onChange: (number) -> ()) -> ImGuiWindow`                                  | Yes      | Appends a SliderInt element and queues onChange with one Lua number when the integer value changes. |
  | `Text`             | `(text: string) -> ImGuiWindow`                                                                                                                 | Yes      | Appends a non-interactive text element.                                                             |
  | `destroy`          | `() -> ()`                                                                                                                                      | Yes      | Removes the window and releases its registered callbacks.                                           |
</div>
