mirror of
https://github.com/ocornut/imgui.git
synced 2025-10-26 12:27:30 +00:00
Merge branch 'master' into docking
# Conflicts: # backends/imgui_impl_glfw.cpp # backends/imgui_impl_vulkan.cpp
This commit is contained in:
19
imgui.cpp
19
imgui.cpp
@@ -21,7 +21,7 @@
|
||||
// please post in https://github.com/ocornut/imgui/discussions if you cannot find a solution in resources above.
|
||||
// Everything else should be asked in 'Issues'! We are building a database of cross-linked knowledge there.
|
||||
|
||||
// Copyright (c) 2014-2023 Omar Cornut
|
||||
// Copyright (c) 2014-2024 Omar Cornut
|
||||
// Developed by Omar Cornut and every direct or indirect contributors to the GitHub.
|
||||
// See LICENSE.txt for copyright and licensing details (standard MIT License).
|
||||
// This library is free but needs your support to sustain development and maintenance.
|
||||
@@ -3682,8 +3682,11 @@ void ImGui::Initialize()
|
||||
// This function is merely here to free heap allocations.
|
||||
void ImGui::Shutdown()
|
||||
{
|
||||
// The fonts atlas can be used prior to calling NewFrame(), so we clear it even if g.Initialized is FALSE (which would happen if we never called NewFrame)
|
||||
ImGuiContext& g = *GImGui;
|
||||
IM_ASSERT_USER_ERROR(g.IO.BackendPlatformUserData == NULL, "Forgot to shutdown Platform backend?");
|
||||
IM_ASSERT_USER_ERROR(g.IO.BackendRendererUserData == NULL, "Forgot to shutdown Renderer backend?");
|
||||
|
||||
// The fonts atlas can be used prior to calling NewFrame(), so we clear it even if g.Initialized is FALSE (which would happen if we never called NewFrame)
|
||||
if (g.IO.Fonts && g.FontAtlasOwnedByContext)
|
||||
{
|
||||
g.IO.Fonts->Locked = false;
|
||||
@@ -6358,15 +6361,17 @@ static int ImGui::UpdateWindowManualResize(ImGuiWindow* window, const ImVec2& si
|
||||
}
|
||||
|
||||
// Apply back modified position/size to window
|
||||
if (size_target.x != FLT_MAX)
|
||||
const ImVec2 curr_pos = window->Pos;
|
||||
const ImVec2 curr_size = window->SizeFull;
|
||||
if (size_target.x != FLT_MAX && (window->Size.x != size_target.x || window->SizeFull.x != size_target.x))
|
||||
window->Size.x = window->SizeFull.x = size_target.x;
|
||||
if (size_target.y != FLT_MAX)
|
||||
if (size_target.y != FLT_MAX && (window->Size.y != size_target.y || window->SizeFull.y != size_target.y))
|
||||
window->Size.y = window->SizeFull.y = size_target.y;
|
||||
if (pos_target.x != FLT_MAX)
|
||||
if (pos_target.x != FLT_MAX && window->Pos.x != ImTrunc(pos_target.x))
|
||||
window->Pos.x = ImTrunc(pos_target.x);
|
||||
if (pos_target.y != FLT_MAX)
|
||||
if (pos_target.y != FLT_MAX && window->Pos.y != ImTrunc(pos_target.y))
|
||||
window->Pos.y = ImTrunc(pos_target.y);
|
||||
if (size_target.x != FLT_MAX || size_target.y != FLT_MAX || pos_target.x != FLT_MAX || pos_target.y != FLT_MAX)
|
||||
if (curr_pos.x != window->Pos.x || curr_pos.y != window->Pos.y || curr_size.x != window->SizeFull.x || curr_size.y != window->SizeFull.y)
|
||||
MarkIniSettingsDirty(window);
|
||||
|
||||
// Recalculate next expected border expected coordinates
|
||||
|
||||
Reference in New Issue
Block a user