@@ -1152,7 +1152,7 @@ void FullscreenUI::PushResetLayout()
11521152 ImGui::PushStyleVar (ImGuiStyleVar_WindowRounding, 0 .0f );
11531153 ImGui::PushStyleVar (ImGuiStyleVar_WindowPadding, LayoutScale (8 .0f , 8 .0f ));
11541154 ImGui::PushStyleVar (ImGuiStyleVar_FramePadding, LayoutScale (4 .0f , 3 .0f ));
1155- ImGui::PushStyleVar (ImGuiStyleVar_ItemSpacing, LayoutScale (8 . 0f , 4 . 0f ));
1155+ ImGui::PushStyleVar (ImGuiStyleVar_ItemSpacing, LayoutScale (LAYOUT_ITEM_X_SPACING, LAYOUT_ITEM_Y_SPACING ));
11561156 ImGui::PushStyleVar (ImGuiStyleVar_ItemInnerSpacing, LayoutScale (4 .0f , 4 .0f ));
11571157 ImGui::PushStyleVar (ImGuiStyleVar_CellPadding, LayoutScale (4 .0f , 2 .0f ));
11581158 ImGui::PushStyleVar (ImGuiStyleVar_IndentSpacing, LayoutScale (21 .0f ));
@@ -1252,10 +1252,8 @@ bool FullscreenUI::IsFocusResetQueued()
12521252
12531253bool FullscreenUI::IsFocusResetFromWindowChange ()
12541254{
1255- return (s_state.focus_reset_queued != FocusResetType::None &&
1256- s_state.focus_reset_queued != FocusResetType::PopupOpened &&
1257- s_state.focus_reset_queued != FocusResetType::PopupClosed &&
1258- s_state.focus_reset_queued != FocusResetType::SplitWindowChanged);
1255+ return (s_state.focus_reset_queued == FocusResetType::ViewChanged ||
1256+ s_state.focus_reset_queued == FocusResetType::Other);
12591257}
12601258
12611259FullscreenUI::FocusResetType FullscreenUI::GetQueuedFocusResetType ()
@@ -2216,8 +2214,8 @@ void FullscreenUI::MenuHeading(std::string_view title, bool draw_line /*= true*/
22162214 const ImVec2 title_size =
22172215 UIStyle.Font ->CalcTextSizeA (font_size, font_weight, FLT_MAX, avail_width, IMSTR_START_END (title));
22182216 const u32 title_color = ImGui::GetColorU32 (ImGuiCol_TextDisabled);
2219- RenderShadowedTextClipped (UIStyle.Font , font_size, font_weight, pos, pos + title_size,
2220- title_color, title, &title_size, ImVec2 (0 .0f , 0 .0f ), avail_width);
2217+ RenderShadowedTextClipped (UIStyle.Font , font_size, font_weight, pos, pos + title_size, title_color, title,
2218+ &title_size, ImVec2 (0 .0f , 0 .0f ), avail_width);
22212219
22222220 float total_height = UIStyle.LargeFontSize + style.FramePadding .y ;
22232221
@@ -3310,9 +3308,9 @@ void FullscreenUI::BeginInnerSplitWindow()
33103308 window->DC .LayoutType = ImGuiLayoutType_Horizontal;
33113309
33123310 ImGui::PushStyleVar (ImGuiStyleVar_WindowPadding, ImVec2 (0 .0f , 0 .0f ));
3313- ImGui::PushStyleVar (ImGuiStyleVar_ItemSpacing, LayoutScale ( 10 .0f , 0 .0f ));
3311+ ImGui::PushStyleVar (ImGuiStyleVar_ItemSpacing, ImVec2 ( 0 .0f , 0 .0f ));
33143312 ImGui::PushStyleVar (ImGuiStyleVar_ChildBorderSize, 0 .0f );
3315- ImGui::PushStyleVar (ImGuiStyleVar_ChildRounding, LayoutScale (LAYOUT_MENU_ITEM_BORDER_ROUNDING) );
3313+ ImGui::PushStyleVar (ImGuiStyleVar_ChildRounding, 0 . 0f );
33163314
33173315 s_state.split_window_focus_change = SplitWindowFocusChange::None;
33183316
@@ -3338,14 +3336,18 @@ void FullscreenUI::EndInnerSplitWindow()
33383336
33393337bool FullscreenUI::BeginSplitWindowSidebar (float sidebar_width /* = 0.2f*/ )
33403338{
3341- ImGui::PushStyleVar (ImGuiStyleVar_WindowPadding, LayoutScale (10 .0f , 10 .0f ));
3342- ImGui::PushStyleColor (ImGuiCol_ChildBg, DarkerColor (ImGui::GetStyle ().Colors [ImGuiCol_WindowBg], 1 .2f ));
3339+ ImGui::PushStyleVar (ImGuiStyleVar_WindowPadding,
3340+ LayoutScale (LAYOUT_MENU_WINDOW_X_PADDING, LAYOUT_MENU_WINDOW_Y_PADDING));
3341+ ImGui::PushStyleVar (ImGuiStyleVar_ItemSpacing, LayoutScale (LAYOUT_ITEM_X_SPACING, LAYOUT_ITEM_Y_SPACING));
3342+ ImGui::PushStyleColor (ImGuiCol_ChildBg,
3343+ ModAlpha (DarkerColor (ImGui::GetStyle ().Colors [ImGuiCol_WindowBg], 1 .75f ), 0 .25f ));
33433344
33443345 if (IsFocusResetFromWindowChange ())
33453346 ImGui::SetNextWindowScroll (ImVec2 (0 .0f , 0 .0f ));
33463347
33473348 const float sidebar_width_px = ImFloor (ImGui::GetCurrentWindowRead ()->WorkRect .GetWidth () * sidebar_width);
3348- if (!ImGui::BeginChild (" sidebar" , ImVec2 (sidebar_width_px, 0 .0f )))
3349+ if (!ImGui::BeginChild (" sidebar" , ImVec2 (sidebar_width_px, 0 .0f ),
3350+ ImGuiChildFlags_AlwaysUseWindowPadding | ImGuiChildFlags_NoNavCancel))
33493351 return false ;
33503352
33513353 if (ImGui::IsWindowFocused ())
@@ -3380,7 +3382,7 @@ void FullscreenUI::EndSplitWindowSidebar()
33803382
33813383 ImGui::GetWindowDrawList ()->ChannelsMerge ();
33823384 ImGui::PopStyleColor (1 );
3383- ImGui::PopStyleVar (1 );
3385+ ImGui::PopStyleVar (2 );
33843386
33853387 SetWindowNavWrapping (false , true );
33863388
@@ -3444,16 +3446,20 @@ bool FullscreenUI::SplitWindowSidebarItem(std::string_view title, std::string_vi
34443446
34453447bool FullscreenUI::BeginSplitWindowContent (bool background)
34463448{
3447- ImGui::PushStyleColor (ImGuiCol_ChildBg, DarkerColor (ImGui::GetStyle ().Colors [ImGuiCol_WindowBg], 1 .1f ));
3449+ ImGui::PushStyleVar (ImGuiStyleVar_WindowPadding, LayoutScale (LAYOUT_MENU_WINDOW_X_PADDING, 0 .0f ));
3450+ ImGui::PushStyleVar (ImGuiStyleVar_ItemSpacing, LayoutScale (LAYOUT_ITEM_X_SPACING, LAYOUT_ITEM_Y_SPACING));
3451+ ImGui::PushStyleColor (ImGuiCol_ChildBg,
3452+ ModAlpha (DarkerColor (ImGui::GetStyle ().Colors [ImGuiCol_WindowBg], 1 .5f ), 0 .25f ));
34483453
34493454 if (IsFocusResetFromWindowChange ())
34503455 ImGui::SetNextWindowScroll (ImVec2 (0 .0f , 0 .0f ));
34513456
34523457 ImGuiWindow* const window = ImGui::GetCurrentWindow ();
34533458 const float content_width = window->WorkRect .Max .x - window->DC .CursorPos .x ;
34543459
3455- const bool ret =
3456- ImGui::BeginChild (" content" , ImVec2 (content_width, 0 .0f ), 0 , background ? 0 : ImGuiWindowFlags_NoBackground);
3460+ const bool ret = ImGui::BeginChild (" content" , ImVec2 (content_width, 0 .0f ),
3461+ ImGuiChildFlags_AlwaysUseWindowPadding | ImGuiChildFlags_NoNavCancel,
3462+ background ? 0 : ImGuiWindowFlags_NoBackground);
34573463
34583464 if (ImGui::IsWindowFocused ())
34593465 {
@@ -3483,6 +3489,7 @@ void FullscreenUI::ResetSplitWindowContentFocusHere()
34833489void FullscreenUI::EndSplitWindowContent ()
34843490{
34853491 ImGui::PopStyleColor (1 );
3492+ ImGui::PopStyleVar (2 );
34863493
34873494 SetWindowNavWrapping (false , true );
34883495
@@ -3494,10 +3501,10 @@ bool FullscreenUI::WasSplitWindowChanged()
34943501 return (s_state.split_window_focus_change != SplitWindowFocusChange::None);
34953502}
34963503
3497- void FullscreenUI::FocusSplitWindowContent (bool reset_content_nav )
3504+ void FullscreenUI::FocusSplitWindowContent ()
34983505{
34993506 s_state.split_window_focus_change = SplitWindowFocusChange::FocusContent;
3500- QueueResetFocus (reset_content_nav ? FocusResetType::Other : FocusResetType::SplitWindowChanged );
3507+ QueueResetFocus (FocusResetType::SplitContentChanged );
35013508}
35023509
35033510bool FullscreenUI::SplitWindowIsNavWindow ()
0 commit comments