|
|
|
@ -2153,12 +2153,20 @@ void ImGui::Render() |
|
|
|
|
g.CurrentWindow->Visible = false; |
|
|
|
|
ImGui::End(); |
|
|
|
|
|
|
|
|
|
// Select window for move/focus when we're done with all our widgets (we use the root window ID here)
|
|
|
|
|
if (g.ActiveId == 0 && g.HoveredId == 0 && g.HoveredRootWindow != NULL && g.IO.MouseClicked[0]) |
|
|
|
|
if (g.ActiveId == 0 && g.HoveredId == 0 && g.IO.MouseClicked[0]) |
|
|
|
|
{ |
|
|
|
|
IM_ASSERT(g.MovedWindow == NULL); |
|
|
|
|
g.MovedWindow = g.HoveredWindow; |
|
|
|
|
SetActiveId(g.HoveredRootWindow->MoveID); |
|
|
|
|
if (g.HoveredRootWindow != NULL) |
|
|
|
|
{ |
|
|
|
|
// Select window for move/focus when we're done with all our widgets (we use the root window ID here)
|
|
|
|
|
IM_ASSERT(g.MovedWindow == NULL); |
|
|
|
|
g.MovedWindow = g.HoveredWindow; |
|
|
|
|
SetActiveId(g.HoveredRootWindow->MoveID); |
|
|
|
|
} |
|
|
|
|
else if (g.FocusedWindow != NULL) |
|
|
|
|
{ |
|
|
|
|
// Clicking on void disable focus
|
|
|
|
|
FocusWindow(NULL); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Sort the window list so that all child windows are after their parent
|
|
|
|
|