| 17603 | } |
| 17604 | |
| 17605 | void ImGui::DestroyPlatformWindow(ImGuiViewportP* viewport) |
| 17606 | { |
| 17607 | ImGuiContext& g = *GImGui; |
| 17608 | if (viewport->PlatformWindowCreated) |
| 17609 | { |
| 17610 | IMGUI_DEBUG_LOG_VIEWPORT("[viewport] Destroy Platform Window %08X '%s'\n", viewport->ID, viewport->Window ? viewport->Window->Name : "n/a"); |
| 17611 | if (g.PlatformIO.Renderer_DestroyWindow) |
| 17612 | g.PlatformIO.Renderer_DestroyWindow(viewport); |
| 17613 | if (g.PlatformIO.Platform_DestroyWindow) |
| 17614 | g.PlatformIO.Platform_DestroyWindow(viewport); |
| 17615 | IM_ASSERT(viewport->RendererUserData == NULL && viewport->PlatformUserData == NULL); |
| 17616 | |
| 17617 | // Don't clear PlatformWindowCreated for the main viewport, as we initially set that up to true in Initialize() |
| 17618 | // The righter way may be to leave it to the backend to set this flag all-together, and made the flag public. |
| 17619 | if (viewport->ID != IMGUI_VIEWPORT_DEFAULT_ID) |
| 17620 | viewport->PlatformWindowCreated = false; |
| 17621 | } |
| 17622 | else |
| 17623 | { |
| 17624 | IM_ASSERT(viewport->RendererUserData == NULL && viewport->PlatformUserData == NULL && viewport->PlatformHandle == NULL); |
| 17625 | } |
| 17626 | viewport->RendererUserData = viewport->PlatformUserData = viewport->PlatformHandle = NULL; |
| 17627 | viewport->ClearRequestFlags(); |
| 17628 | } |
| 17629 | |
| 17630 | void ImGui::DestroyPlatformWindows() |
| 17631 | { |
nothing calls this directly
no test coverage detected