mirror of
https://github.com/ocornut/imgui.git
synced 2026-01-11 00:04:24 +00:00
AutoFitSize no longer ignores title length if it's wider than the content
Previously, if you had a window created with a text saying "Hey" and title bar saying "My really long title", the title would be cut off. With this change, as long as title is longer than the content, it will make the window auto size to fit the title.
This commit is contained in:
parent
336d9212fc
commit
5d8f7fc5cd
1 changed files with 13 additions and 0 deletions
13
imgui.cpp
13
imgui.cpp
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue