Viewport: ImGuiWindowFlags_NoFocusOnAppearing affects viewport accordingly. (#1542)

This commit is contained in:
omar 2018-08-14 11:32:24 -07:00
parent e5f2295398
commit 1722a31155

View File

@ -5233,7 +5233,10 @@ ImGuiViewportP* ImGui::AddUpdateViewport(ImGuiWindow* window, ImGuiID id, const
viewport->Size = size; viewport->Size = size;
viewport->PlatformMonitor = FindPlatformMonitorForRect(viewport->GetRect()); viewport->PlatformMonitor = FindPlatformMonitorForRect(viewport->GetRect());
g.Viewports.push_back(viewport); g.Viewports.push_back(viewport);
if (window && (window->Flags & ImGuiWindowFlags_NoFocusOnAppearing))
flags |= ImGuiViewportFlags_NoFocusOnAppearing;
// We normally setup for all viewports in NewFrame() but here need to handle the mid-frame creation of a new viewport. // We normally setup for all viewports in NewFrame() but here need to handle the mid-frame creation of a new viewport.
// We need to extend the fullscreen clip rect so the OverlayDrawList clip is correct for that the first frame // We need to extend the fullscreen clip rect so the OverlayDrawList clip is correct for that the first frame
g.DrawListSharedData.ClipRectFullscreen.z = ImMax(g.DrawListSharedData.ClipRectFullscreen.z, viewport->Pos.x + viewport->Size.x); g.DrawListSharedData.ClipRectFullscreen.z = ImMax(g.DrawListSharedData.ClipRectFullscreen.z, viewport->Pos.x + viewport->Size.x);