| 12983 | } |
| 12984 | |
| 12985 | void ImGui::BringWindowToDisplayBehind(ImGuiWindow* window, ImGuiWindow* behind_window) |
| 12986 | { |
| 12987 | IM_ASSERT(window != NULL && behind_window != NULL); |
| 12988 | ImGuiContext& g = *GImGui; |
| 12989 | window = window->RootWindow; |
| 12990 | behind_window = behind_window->RootWindow; |
| 12991 | int pos_wnd = FindWindowDisplayIndex(window); |
| 12992 | int pos_beh = FindWindowDisplayIndex(behind_window); |
| 12993 | if (pos_wnd < pos_beh) |
| 12994 | { |
| 12995 | size_t copy_bytes = (pos_beh - pos_wnd - 1) * sizeof(ImGuiWindow*); |
| 12996 | memmove(&g.Windows.Data[pos_wnd], &g.Windows.Data[pos_wnd + 1], copy_bytes); |
| 12997 | g.Windows[pos_beh - 1] = window; |
| 12998 | } |
| 12999 | else |
| 13000 | { |
| 13001 | size_t copy_bytes = (pos_wnd - pos_beh) * sizeof(ImGuiWindow*); |
| 13002 | memmove(&g.Windows.Data[pos_beh + 1], &g.Windows.Data[pos_beh], copy_bytes); |
| 13003 | g.Windows[pos_beh] = window; |
| 13004 | } |
| 13005 | } |
| 13006 | |
| 13007 | int ImGui::FindWindowDisplayIndex(ImGuiWindow* window) |
| 13008 | { |
nothing calls this directly
no outgoing calls
no test coverage detected