MCPcopy Create free account
hub / github.com/KebsCS/KBotExt / UpdateWindowInFocusOrderList

Function UpdateWindowInFocusOrderList

KBotExt/imgui/imgui.cpp:5522–5543  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5520}
5521
5522static void UpdateWindowInFocusOrderList(ImGuiWindow* window, bool just_created, ImGuiWindowFlags new_flags)
5523{
5524 ImGuiContext& g = *GImGui;
5525
5526 const bool new_is_explicit_child = (new_flags & ImGuiWindowFlags_ChildWindow) != 0 && ((new_flags & ImGuiWindowFlags_Popup) == 0 || (new_flags & ImGuiWindowFlags_ChildMenu) != 0);
5527 const bool child_flag_changed = new_is_explicit_child != window->IsExplicitChild;
5528 if ((just_created || child_flag_changed) && !new_is_explicit_child)
5529 {
5530 IM_ASSERT(!g.WindowsFocusOrder.contains(window));
5531 g.WindowsFocusOrder.push_back(window);
5532 window->FocusOrder = (short)(g.WindowsFocusOrder.Size - 1);
5533 }
5534 else if (!just_created && child_flag_changed && new_is_explicit_child)
5535 {
5536 IM_ASSERT(g.WindowsFocusOrder[window->FocusOrder] == window);
5537 for (int n = window->FocusOrder + 1; n < g.WindowsFocusOrder.Size; n++)
5538 g.WindowsFocusOrder[n]->FocusOrder--;
5539 g.WindowsFocusOrder.erase(g.WindowsFocusOrder.Data + window->FocusOrder);
5540 window->FocusOrder = -1;
5541 }
5542 window->IsExplicitChild = new_is_explicit_child;
5543}
5544
5545static void InitOrLoadWindowSettings(ImGuiWindow* window, ImGuiWindowSettings* settings)
5546{

Callers 1

BeginMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected