Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions imgui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6565,6 +6565,19 @@ static ImVec2 CalcWindowAutoFitSize(ImGuiWindow* window, const ImVec2& size_cont
ImVec2 size_pad = window->WindowPadding * 2.0f;
ImVec2 size_desired = size_contents + size_pad + ImVec2(decoration_w_without_scrollbars, decoration_h_without_scrollbars);

if ((window->Flags & ImGuiWindowFlags_NoTitleBar) == 0)
{
// Content may be shorter than title. In that case, make sure we auto resize based on title to not clip it off.
ImVec2 title_size = ImGui::CalcTextSize(window->Name, NULL, true);
title_size.x += style.FramePadding.x * 2.0f;

float collapse_button_width = (window->Flags & ImGuiWindowFlags_NoCollapse) == 0 ? (g.FontSize + style.FramePadding.x * 2.0f) : 0.0f;
float close_button_width = window->HasCloseButton ? (g.FontSize + style.FramePadding.x * 2.0f) : 0.0f;

float min_title_width = title_size.x + collapse_button_width + close_button_width;
size_desired.x = ImMax(size_desired.x, min_title_width + style.WindowPadding.x * 2.0f);
}

// Determine maximum window size
// Child windows are layed within their parent (unless they are also popups/menus) and thus have no restriction
ImVec2 size_max = ((window->Flags & ImGuiWindowFlags_ChildWindow) && !(window->Flags & ImGuiWindowFlags_Popup)) ? ImVec2(FLT_MAX, FLT_MAX) : ImGui::GetMainViewport()->WorkSize - style.DisplaySafeAreaPadding * 2.0f;
Expand Down