mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	Merge branch 'master' into navigation
# Conflicts: # imgui.cpp # imgui_demo.cpp
This commit is contained in:
		
							
								
								
									
										14
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								imgui.cpp
									
									
									
									
									
								
							@@ -3185,10 +3185,7 @@ void ImGui::NewFrame()
 | 
			
		||||
    if (ImGuiWindow* modal_window = GetFrontMostModalRootWindow())
 | 
			
		||||
    {
 | 
			
		||||
        g.ModalWindowDarkeningRatio = ImMin(g.ModalWindowDarkeningRatio + g.IO.DeltaTime * 6.0f, 1.0f);
 | 
			
		||||
        ImGuiWindow* window = g.HoveredRootWindow;
 | 
			
		||||
        while (window && window != modal_window)
 | 
			
		||||
            window = window->ParentWindow;
 | 
			
		||||
        if (!window)
 | 
			
		||||
        if (g.HoveredRootWindow && !IsWindowChildOf(g.HoveredRootWindow, modal_window))
 | 
			
		||||
            g.HoveredRootWindow = g.HoveredWindow = NULL;
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
@@ -5249,7 +5246,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
 | 
			
		||||
        SetWindowConditionAllowFlags(window, ImGuiCond_Appearing, true);
 | 
			
		||||
 | 
			
		||||
    // Parent window is latched only on the first call to Begin() of the frame, so further append-calls can be done from a different window stack
 | 
			
		||||
    ImGuiWindow* parent_window = first_begin_of_the_frame ? ((flags & ImGuiWindowFlags_ChildWindow) && !g.CurrentWindowStack.empty() ? g.CurrentWindowStack.back() : NULL) : window->ParentWindow;
 | 
			
		||||
    ImGuiWindow* parent_window = first_begin_of_the_frame ? ((flags & (ImGuiWindowFlags_ChildWindow | ImGuiWindowFlags_Popup)) && !g.CurrentWindowStack.empty() ? g.CurrentWindowStack.back() : NULL) : window->ParentWindow;
 | 
			
		||||
    IM_ASSERT(parent_window != NULL || !(flags & ImGuiWindowFlags_ChildWindow));
 | 
			
		||||
 | 
			
		||||
    // Add to stack
 | 
			
		||||
@@ -5323,8 +5320,11 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
 | 
			
		||||
    {
 | 
			
		||||
        // Initialize
 | 
			
		||||
        window->ParentWindow = parent_window;
 | 
			
		||||
        window->RootWindow = ((flags & ImGuiWindowFlags_ChildWindow) && parent_window) ? parent_window->RootWindow : window;
 | 
			
		||||
        window->RootNonPopupWindow = !(flags & (ImGuiWindowFlags_ChildWindow | ImGuiWindowFlags_Popup)) || (flags & ImGuiWindowFlags_Modal) || (parent_window == NULL) ? window : parent_window->RootNonPopupWindow; // Used to display TitleBgActive color and for selecting which window to use for NavWindowing
 | 
			
		||||
        window->RootWindow = window->RootNonPopupWindow = window;
 | 
			
		||||
        if (parent_window && (flags & ImGuiWindowFlags_ChildWindow))
 | 
			
		||||
            window->RootWindow = parent_window->RootWindow;
 | 
			
		||||
        if (parent_window && !(flags & ImGuiWindowFlags_Modal) && (flags & (ImGuiWindowFlags_ChildWindow | ImGuiWindowFlags_Popup)))
 | 
			
		||||
            window->RootNonPopupWindow = parent_window->RootNonPopupWindow;
 | 
			
		||||
        window->RootNavWindow = window;
 | 
			
		||||
        //while (window->RootNavWindow->Flags & ImGuiWindowFlags_NavFlattened)
 | 
			
		||||
        //    window->RootNavWindow = window->RootNavWindow->ParentWindow;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user