mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +01:00 
			
		
		
		
	Nav: when browsing a window that has no activable items (scroll only) we keep a highlight on the child. (#787)
This commit is contained in:
		
							
								
								
									
										12
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -4960,7 +4960,8 @@ bool ImGui::BeginChild(ImGuiID id, const ImVec2& size_arg, bool border, ImGuiWin | ||||
|  | ||||
| void ImGui::EndChild() | ||||
| { | ||||
|     ImGuiWindow* window = GetCurrentWindow(); | ||||
|     ImGuiContext& g = *GImGui; | ||||
|     ImGuiWindow* window = g.CurrentWindow; | ||||
|  | ||||
|     IM_ASSERT(window->Flags & ImGuiWindowFlags_ChildWindow);   // Mismatched BeginChild()/EndChild() callss | ||||
|     if (window->BeginCount > 1) | ||||
| @@ -4977,13 +4978,18 @@ void ImGui::EndChild() | ||||
|             sz.y = ImMax(4.0f, sz.y); | ||||
|         End(); | ||||
|  | ||||
|         ImGuiWindow* parent_window = GetCurrentWindow(); | ||||
|         ImGuiWindow* parent_window = g.CurrentWindow; | ||||
|         ImRect bb(parent_window->DC.CursorPos, parent_window->DC.CursorPos + sz); | ||||
|  | ||||
|         ItemSize(sz); | ||||
|         if (!(window->Flags & ImGuiWindowFlags_NavFlattened) && (window->DC.NavLayerActiveMask != 0 || window->DC.NavHasScroll)) | ||||
|         if ((window->DC.NavLayerActiveMask != 0 || window->DC.NavHasScroll) && !(window->Flags & ImGuiWindowFlags_NavFlattened)) | ||||
|         { | ||||
|             ItemAdd(bb, window->ChildId); | ||||
|             RenderNavHighlight(bb, window->ChildId); | ||||
|  | ||||
|             // When browsing a window that has no activable items (scroll only) we keep a highlight on the child | ||||
|             if (window->DC.NavLayerActiveMask == 0 && window == g.NavWindow) | ||||
|                 RenderNavHighlight(ImRect(bb.Min - ImVec2(2,2), bb.Max + ImVec2(2,2)), g.NavId, ImGuiNavHighlightFlags_TypeThin); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user