|
|
@ -3796,7 +3796,7 @@ bool ImGui::Begin(const char* name, bool* p_open, const ImVec2& size_on_first_us |
|
|
|
bool window_pos_set_by_api = false, window_size_set_by_api = false; |
|
|
|
bool window_pos_set_by_api = false, window_size_set_by_api = false; |
|
|
|
if (g.SetNextWindowPosCond) |
|
|
|
if (g.SetNextWindowPosCond) |
|
|
|
{ |
|
|
|
{ |
|
|
|
const ImVec2 backup_cursor_pos = window->DC.CursorPos; // FIXME: not sure of the exact reason of this anymore :( need to look into that.
|
|
|
|
const ImVec2 backup_cursor_pos = window->DC.CursorPos; // FIXME: not sure of the exact reason of this saving/restore anymore :( need to look into that.
|
|
|
|
if (!window_was_active || window_appearing_after_being_hidden) window->SetWindowPosAllowFlags |= ImGuiSetCond_Appearing; |
|
|
|
if (!window_was_active || window_appearing_after_being_hidden) window->SetWindowPosAllowFlags |= ImGuiSetCond_Appearing; |
|
|
|
window_pos_set_by_api = (window->SetWindowPosAllowFlags & g.SetNextWindowPosCond) != 0; |
|
|
|
window_pos_set_by_api = (window->SetWindowPosAllowFlags & g.SetNextWindowPosCond) != 0; |
|
|
|
if (window_pos_set_by_api && ImLengthSqr(g.SetNextWindowPosVal - ImVec2(-FLT_MAX,-FLT_MAX)) < 0.001f) |
|
|
|
if (window_pos_set_by_api && ImLengthSqr(g.SetNextWindowPosVal - ImVec2(-FLT_MAX,-FLT_MAX)) < 0.001f) |
|
|
@ -3857,12 +3857,12 @@ bool ImGui::Begin(const char* name, bool* p_open, const ImVec2& size_on_first_us |
|
|
|
window->Active = true; |
|
|
|
window->Active = true; |
|
|
|
window->IndexWithinParent = 0; |
|
|
|
window->IndexWithinParent = 0; |
|
|
|
window->BeginCount = 0; |
|
|
|
window->BeginCount = 0; |
|
|
|
window->DrawList->Clear(); |
|
|
|
|
|
|
|
window->ClipRect = ImVec4(-FLT_MAX,-FLT_MAX,+FLT_MAX,+FLT_MAX); |
|
|
|
window->ClipRect = ImVec4(-FLT_MAX,-FLT_MAX,+FLT_MAX,+FLT_MAX); |
|
|
|
window->LastFrameActive = current_frame; |
|
|
|
window->LastFrameActive = current_frame; |
|
|
|
window->IDStack.resize(1); |
|
|
|
window->IDStack.resize(1); |
|
|
|
|
|
|
|
|
|
|
|
// Setup texture, outer clipping rectangle
|
|
|
|
// Clear draw list, setup texture, outer clipping rectangle
|
|
|
|
|
|
|
|
window->DrawList->Clear(); |
|
|
|
window->DrawList->PushTextureID(g.Font->ContainerAtlas->TexID); |
|
|
|
window->DrawList->PushTextureID(g.Font->ContainerAtlas->TexID); |
|
|
|
ImRect fullscreen_rect(GetVisibleRect()); |
|
|
|
ImRect fullscreen_rect(GetVisibleRect()); |
|
|
|
if ((flags & ImGuiWindowFlags_ChildWindow) && !(flags & (ImGuiWindowFlags_ComboBox|ImGuiWindowFlags_Popup))) |
|
|
|
if ((flags & ImGuiWindowFlags_ChildWindow) && !(flags & (ImGuiWindowFlags_ComboBox|ImGuiWindowFlags_Popup))) |
|
|
@ -4438,7 +4438,7 @@ void ImGui::FocusWindow(ImGuiWindow* window) |
|
|
|
// Steal focus on active widgets
|
|
|
|
// Steal focus on active widgets
|
|
|
|
if (window->Flags & ImGuiWindowFlags_Popup) // FIXME: This statement should be unnecessary. Need further testing before removing it..
|
|
|
|
if (window->Flags & ImGuiWindowFlags_Popup) // FIXME: This statement should be unnecessary. Need further testing before removing it..
|
|
|
|
if (g.ActiveId != 0 && g.ActiveIdWindow && g.ActiveIdWindow->RootWindow != window) |
|
|
|
if (g.ActiveId != 0 && g.ActiveIdWindow && g.ActiveIdWindow->RootWindow != window) |
|
|
|
ImGui::SetActiveID(0); |
|
|
|
SetActiveID(0); |
|
|
|
|
|
|
|
|
|
|
|
// Bring to front
|
|
|
|
// Bring to front
|
|
|
|
if ((window->Flags & ImGuiWindowFlags_NoBringToFrontOnFocus) || g.Windows.back() == window) |
|
|
|
if ((window->Flags & ImGuiWindowFlags_NoBringToFrontOnFocus) || g.Windows.back() == window) |
|
|
|