mirror of
https://github.com/ocornut/imgui.git
synced 2026-01-18 01:14:19 +00:00
Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
+ TabBar: starts displaying the unsaved document marker with a frame delay to match how close button is processed, otherwise the transition would be noticeable.
This commit is contained in:
parent
fb0b9c7160
commit
cb04326b46
4 changed files with 19 additions and 10 deletions
|
|
@ -16158,11 +16158,11 @@ static void ImGui::DockNodePreviewDockRender(ImGuiWindow* host_window, ImGuiDock
|
|||
if (!host_node->IsHiddenTabBar() && !host_node->IsNoTabBar())
|
||||
tab_pos.x += host_node->TabBar->WidthAllTabs + g.Style.ItemInnerSpacing.x; // We don't use OffsetNewTab because when using non-persistent-order tab bar it is incremented with each Tab submission.
|
||||
else
|
||||
tab_pos.x += g.Style.ItemInnerSpacing.x + TabItemCalcSize(host_node->Windows[0]->Name, host_node->Windows[0]->HasCloseButton).x;
|
||||
tab_pos.x += g.Style.ItemInnerSpacing.x + TabItemCalcSize(host_node->Windows[0]).x;
|
||||
}
|
||||
else if (!(host_window->Flags & ImGuiWindowFlags_DockNodeHost))
|
||||
{
|
||||
tab_pos.x += g.Style.ItemInnerSpacing.x + TabItemCalcSize(host_window->Name, host_window->HasCloseButton).x; // Account for slight offset which will be added when changing from title bar to tab bar
|
||||
tab_pos.x += g.Style.ItemInnerSpacing.x + TabItemCalcSize(host_window).x; // Account for slight offset which will be added when changing from title bar to tab bar
|
||||
}
|
||||
|
||||
// Draw tab shape/label preview (payload may be a loose window or a host window carrying multiple tabbed windows)
|
||||
|
|
@ -16180,7 +16180,7 @@ static void ImGui::DockNodePreviewDockRender(ImGuiWindow* host_window, ImGuiDock
|
|||
continue;
|
||||
|
||||
// Calculate the tab bounding box for each payload window
|
||||
ImVec2 tab_size = TabItemCalcSize(payload_window->Name, payload_window->HasCloseButton);
|
||||
ImVec2 tab_size = TabItemCalcSize(payload_window);
|
||||
ImRect tab_bb(tab_pos.x, tab_pos.y, tab_pos.x + tab_size.x, tab_pos.y + tab_size.y);
|
||||
tab_pos.x += tab_size.x + g.Style.ItemInnerSpacing.x;
|
||||
const ImU32 overlay_col_text = GetColorU32(payload_window->DockStyle.Colors[ImGuiWindowDockStyleCol_Text]);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue