| 7132 | } |
| 7133 | |
| 7134 | void ImGui::BringWindowToDisplayBehind(ImGuiWindow* window, ImGuiWindow* behind_window) |
| 7135 | { |
| 7136 | IM_ASSERT(window != NULL && behind_window != NULL); |
| 7137 | ImGuiContext& g = *GImGui; |
| 7138 | window = window->RootWindow; |
| 7139 | behind_window = behind_window->RootWindow; |
| 7140 | int pos_wnd = FindWindowDisplayIndex(window); |
| 7141 | int pos_beh = FindWindowDisplayIndex(behind_window); |
| 7142 | if (pos_wnd < pos_beh) |
| 7143 | { |
| 7144 | size_t copy_bytes = (pos_beh - pos_wnd - 1) * sizeof(ImGuiWindow*); |
| 7145 | memmove(&g.Windows.Data[pos_wnd], &g.Windows.Data[pos_wnd + 1], copy_bytes); |
| 7146 | g.Windows[pos_beh - 1] = window; |
| 7147 | } |
| 7148 | else |
| 7149 | { |
| 7150 | size_t copy_bytes = (pos_wnd - pos_beh) * sizeof(ImGuiWindow*); |
| 7151 | memmove(&g.Windows.Data[pos_beh + 1], &g.Windows.Data[pos_beh], copy_bytes); |
| 7152 | g.Windows[pos_beh] = window; |
| 7153 | } |
| 7154 | } |
| 7155 | |
| 7156 | int ImGui::FindWindowDisplayIndex(ImGuiWindow* window) |
| 7157 | { |
nothing calls this directly
no outgoing calls
no test coverage detected