mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 09:27:00 +00:00
Comments
This commit is contained in:
parent
8079344cee
commit
2d21a64fed
@ -5263,10 +5263,11 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
|
|||||||
else if ((flags & ImGuiWindowFlags_Tooltip) != 0 && !window_pos_set_by_api && !window_is_child_tooltip)
|
else if ((flags & ImGuiWindowFlags_Tooltip) != 0 && !window_pos_set_by_api && !window_is_child_tooltip)
|
||||||
window->Pos = FindBestWindowPosForPopup(window);
|
window->Pos = FindBestWindowPosForPopup(window);
|
||||||
|
|
||||||
|
// Late create viewport if we don't fit within our current host viewport.
|
||||||
if (window->ViewportAllowPlatformMonitorExtend >= 0 && !window->ViewportOwned && !window->Viewport->PlatformWindowMinimized)
|
if (window->ViewportAllowPlatformMonitorExtend >= 0 && !window->ViewportOwned && !window->Viewport->PlatformWindowMinimized)
|
||||||
if (!window->Viewport->GetRect().Contains(window->Rect()))
|
if (!window->Viewport->GetRect().Contains(window->Rect()))
|
||||||
{
|
{
|
||||||
// Late create viewport, based on the assumption that with our calculations, the DPI will be known ahead (same as the DPI of the selection done in UpdateSelectWindowViewport)
|
// This is based on the assumption that the DPI will be known ahead (same as the DPI of the selection done in UpdateSelectWindowViewport)
|
||||||
//ImGuiViewport* old_viewport = window->Viewport;
|
//ImGuiViewport* old_viewport = window->Viewport;
|
||||||
window->Viewport = AddUpdateViewport(window, window->ID, window->Pos, window->Size, ImGuiViewportFlags_NoFocusOnAppearing);
|
window->Viewport = AddUpdateViewport(window, window->ID, window->Pos, window->Size, ImGuiViewportFlags_NoFocusOnAppearing);
|
||||||
|
|
||||||
@ -7413,7 +7414,7 @@ void ImGui::SetCurrentViewport(ImGuiWindow* current_window, ImGuiViewportP* view
|
|||||||
/*
|
/*
|
||||||
if (viewport->LastFrameActive < g.FrameCount && viewport->Window != current_window && viewport->Window != NULL && current_window != NULL)
|
if (viewport->LastFrameActive < g.FrameCount && viewport->Window != current_window && viewport->Window != NULL && current_window != NULL)
|
||||||
{
|
{
|
||||||
//IMGUI_DEBUG_LOG("[%05d] Window '%s' steal Viewport %08X from Window '%s'\n", g.FrameCount, current_window->Name, viewport->ID, viewport->Window->Name);
|
//IMGUI_DEBUG_LOG("Window '%s' steal Viewport %08X from Window '%s'\n", g.FrameCount, current_window->Name, viewport->ID, viewport->Window->Name);
|
||||||
viewport->Window = current_window;
|
viewport->Window = current_window;
|
||||||
viewport->ID = current_window->ID;
|
viewport->ID = current_window->ID;
|
||||||
}
|
}
|
||||||
@ -7423,6 +7424,7 @@ void ImGui::SetCurrentViewport(ImGuiWindow* current_window, ImGuiViewportP* view
|
|||||||
if (g.CurrentViewport == viewport)
|
if (g.CurrentViewport == viewport)
|
||||||
return;
|
return;
|
||||||
g.CurrentViewport = viewport;
|
g.CurrentViewport = viewport;
|
||||||
|
//IMGUI_DEBUG_LOG("SetCurrentViewport changed '%s' 0x%08X\n", current_window ? current_window->Name : NULL, viewport ? viewport->ID : 0);
|
||||||
|
|
||||||
// Notify platform layer of viewport changes
|
// Notify platform layer of viewport changes
|
||||||
// FIXME-DPI: This is only currently used for experimenting with handling of multiple DPI
|
// FIXME-DPI: This is only currently used for experimenting with handling of multiple DPI
|
||||||
|
Loading…
Reference in New Issue
Block a user