|
|
@ -2771,25 +2771,28 @@ void ImGui::EndFrame() |
|
|
|
g.CurrentWindow->Active = false; |
|
|
|
ImGui::End(); |
|
|
|
|
|
|
|
// Click to focus window and start moving (after we're done with all our widgets)
|
|
|
|
if (g.ActiveId == 0 && g.HoveredId == 0 && g.IO.MouseClicked[0]) |
|
|
|
if (g.ActiveId == 0 && g.HoveredId == 0) |
|
|
|
{ |
|
|
|
if (!(g.NavWindow && !g.NavWindow->WasActive && g.NavWindow->Active)) // Unless we just made a popup appear
|
|
|
|
if (!g.NavWindow || g.NavWindow->WasActive || !g.NavWindow->Active) // Unless we just made a popup appear
|
|
|
|
{ |
|
|
|
if (g.HoveredRootWindow != NULL) |
|
|
|
// Click to focus window and start moving (after we're done with all our widgets)
|
|
|
|
if (g.IO.MouseClicked[0]) |
|
|
|
{ |
|
|
|
FocusWindow(g.HoveredWindow); |
|
|
|
if (!(g.HoveredWindow->Flags & ImGuiWindowFlags_NoMove)) |
|
|
|
if (g.HoveredRootWindow != NULL) |
|
|
|
{ |
|
|
|
g.MovedWindow = g.HoveredWindow; |
|
|
|
g.MovedWindowMoveId = g.HoveredWindow->MoveId; |
|
|
|
SetActiveID(g.MovedWindowMoveId, g.HoveredRootWindow); |
|
|
|
FocusWindow(g.HoveredWindow); |
|
|
|
if (!(g.HoveredWindow->Flags & ImGuiWindowFlags_NoMove)) |
|
|
|
{ |
|
|
|
g.MovedWindow = g.HoveredWindow; |
|
|
|
g.MovedWindowMoveId = g.HoveredWindow->MoveId; |
|
|
|
SetActiveID(g.MovedWindowMoveId, g.HoveredRootWindow); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (g.NavWindow != NULL && GetFrontMostModalRootWindow() == NULL) |
|
|
|
{ |
|
|
|
// Clicking on void disable focus
|
|
|
|
FocusWindow(NULL); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (g.NavWindow != NULL && GetFrontMostModalRootWindow() == NULL) |
|
|
|
{ |
|
|
|
// Clicking on void disable focus
|
|
|
|
FocusWindow(NULL); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|