| 6696 | } |
| 6697 | |
| 6698 | void ImGui::BringWindowToDisplayBehind(ImGuiWindow* window, ImGuiWindow* behind_window) |
| 6699 | { |
| 6700 | IM_ASSERT(window != NULL && behind_window != NULL); |
| 6701 | ImGuiContext& g = *GImGui; |
| 6702 | window = window->RootWindow; |
| 6703 | behind_window = behind_window->RootWindow; |
| 6704 | int pos_wnd = FindWindowDisplayIndex(window); |
| 6705 | int pos_beh = FindWindowDisplayIndex(behind_window); |
| 6706 | if (pos_wnd < pos_beh) |
| 6707 | { |
| 6708 | size_t copy_bytes = (pos_beh - pos_wnd - 1) * sizeof(ImGuiWindow*); |
| 6709 | memmove(&g.Windows.Data[pos_wnd], &g.Windows.Data[pos_wnd + 1], copy_bytes); |
| 6710 | g.Windows[pos_beh - 1] = window; |
| 6711 | } |
| 6712 | else |
| 6713 | { |
| 6714 | size_t copy_bytes = (pos_wnd - pos_beh) * sizeof(ImGuiWindow*); |
| 6715 | memmove(&g.Windows.Data[pos_beh + 1], &g.Windows.Data[pos_beh], copy_bytes); |
| 6716 | g.Windows[pos_beh] = window; |
| 6717 | } |
| 6718 | } |
| 6719 | |
| 6720 | int ImGui::FindWindowDisplayIndex(ImGuiWindow* window) |
| 6721 | { |
nothing calls this directly
no outgoing calls
no test coverage detected