| 13612 | } |
| 13613 | |
| 13614 | void ImGui::BringWindowToDisplayBehind(ImGuiWindow* window, ImGuiWindow* behind_window) |
| 13615 | { |
| 13616 | IM_ASSERT(window != NULL && behind_window != NULL); |
| 13617 | ImGuiContext& g = *GImGui; |
| 13618 | window = window->RootWindow; |
| 13619 | behind_window = behind_window->RootWindow; |
| 13620 | int pos_wnd = FindWindowDisplayIndex(window); |
| 13621 | int pos_beh = FindWindowDisplayIndex(behind_window); |
| 13622 | if (pos_wnd < pos_beh) |
| 13623 | { |
| 13624 | size_t copy_bytes = (pos_beh - pos_wnd - 1) * sizeof(ImGuiWindow*); |
| 13625 | memmove(&g.Windows.Data[pos_wnd], &g.Windows.Data[pos_wnd + 1], copy_bytes); |
| 13626 | g.Windows[pos_beh - 1] = window; |
| 13627 | } |
| 13628 | else |
| 13629 | { |
| 13630 | size_t copy_bytes = (pos_wnd - pos_beh) * sizeof(ImGuiWindow*); |
| 13631 | memmove(&g.Windows.Data[pos_beh + 1], &g.Windows.Data[pos_beh], copy_bytes); |
| 13632 | g.Windows[pos_beh] = window; |
| 13633 | } |
| 13634 | } |
| 13635 | |
| 13636 | int ImGui::FindWindowDisplayIndex(ImGuiWindow* window) |
| 13637 | { |
nothing calls this directly
no outgoing calls
no test coverage detected