mirror of
https://github.com/Drezil/imgui.git
synced 2025-04-16 08:04:00 +00:00
Window: Tweaked ApplySizeFullWithConstraint() -> CalcSizeFullWithConstraint() so it can be used without side-effect
This commit is contained in:
parent
0a5fb24f10
commit
9f34925b2a
@ -3882,7 +3882,7 @@ static ImGuiWindow* CreateNewWindow(const char* name, ImVec2 size, ImGuiWindowFl
|
|||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ApplySizeFullWithConstraint(ImGuiWindow* window, ImVec2 new_size)
|
static ImVec2 CalcSizeFullWithConstraint(ImGuiWindow* window, ImVec2 new_size)
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
if (g.SetNextWindowSizeConstraint)
|
if (g.SetNextWindowSizeConstraint)
|
||||||
@ -3904,7 +3904,7 @@ static void ApplySizeFullWithConstraint(ImGuiWindow* window, ImVec2 new_size)
|
|||||||
}
|
}
|
||||||
if (!(window->Flags & (ImGuiWindowFlags_ChildWindow | ImGuiWindowFlags_AlwaysAutoResize)))
|
if (!(window->Flags & (ImGuiWindowFlags_ChildWindow | ImGuiWindowFlags_AlwaysAutoResize)))
|
||||||
new_size = ImMax(new_size, g.Style.WindowMinSize);
|
new_size = ImMax(new_size, g.Style.WindowMinSize);
|
||||||
window->SizeFull = new_size;
|
return new_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ImVec2 CalcNextScrollFromScrollTargetAndClamp(ImGuiWindow* window)
|
static ImVec2 CalcNextScrollFromScrollTargetAndClamp(ImGuiWindow* window)
|
||||||
@ -4161,7 +4161,7 @@ bool ImGui::Begin(const char* name, bool* p_open, const ImVec2& size_on_first_us
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply minimum/maximum window size constraints and final size
|
// Apply minimum/maximum window size constraints and final size
|
||||||
ApplySizeFullWithConstraint(window, window->SizeFull);
|
window->SizeFull = CalcSizeFullWithConstraint(window, window->SizeFull);
|
||||||
window->Size = window->Collapsed ? window->TitleBarRect().GetSize() : window->SizeFull;
|
window->Size = window->Collapsed ? window->TitleBarRect().GetSize() : window->SizeFull;
|
||||||
|
|
||||||
// POSITION
|
// POSITION
|
||||||
@ -4286,7 +4286,7 @@ bool ImGui::Begin(const char* name, bool* p_open, const ImVec2& size_on_first_us
|
|||||||
|
|
||||||
if (size_target.x != FLT_MAX && size_target.y != FLT_MAX)
|
if (size_target.x != FLT_MAX && size_target.y != FLT_MAX)
|
||||||
{
|
{
|
||||||
ApplySizeFullWithConstraint(window, size_target);
|
window->SizeFull = CalcSizeFullWithConstraint(window, size_target);
|
||||||
MarkIniSettingsDirty(window);
|
MarkIniSettingsDirty(window);
|
||||||
}
|
}
|
||||||
window->Size = window->SizeFull;
|
window->Size = window->SizeFull;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user