mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 05:01:05 +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()) |     if (ImGuiWindow* modal_window = GetFrontMostModalRootWindow()) | ||||||
|     { |     { | ||||||
|         g.ModalWindowDarkeningRatio = ImMin(g.ModalWindowDarkeningRatio + g.IO.DeltaTime * 6.0f, 1.0f); |         g.ModalWindowDarkeningRatio = ImMin(g.ModalWindowDarkeningRatio + g.IO.DeltaTime * 6.0f, 1.0f); | ||||||
|         ImGuiWindow* window = g.HoveredRootWindow; |         if (g.HoveredRootWindow && !IsWindowChildOf(g.HoveredRootWindow, modal_window)) | ||||||
|         while (window && window != modal_window) |  | ||||||
|             window = window->ParentWindow; |  | ||||||
|         if (!window) |  | ||||||
|             g.HoveredRootWindow = g.HoveredWindow = NULL; |             g.HoveredRootWindow = g.HoveredWindow = NULL; | ||||||
|     } |     } | ||||||
|     else |     else | ||||||
| @@ -5249,7 +5246,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) | |||||||
|         SetWindowConditionAllowFlags(window, ImGuiCond_Appearing, true); |         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 |     // 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)); |     IM_ASSERT(parent_window != NULL || !(flags & ImGuiWindowFlags_ChildWindow)); | ||||||
|  |  | ||||||
|     // Add to stack |     // Add to stack | ||||||
| @@ -5323,8 +5320,11 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) | |||||||
|     { |     { | ||||||
|         // Initialize |         // Initialize | ||||||
|         window->ParentWindow = parent_window; |         window->ParentWindow = parent_window; | ||||||
|         window->RootWindow = ((flags & ImGuiWindowFlags_ChildWindow) && parent_window) ? parent_window->RootWindow : window; |         window->RootWindow = window->RootNonPopupWindow = 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 |         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; |         window->RootNavWindow = window; | ||||||
|         //while (window->RootNavWindow->Flags & ImGuiWindowFlags_NavFlattened) |         //while (window->RootNavWindow->Flags & ImGuiWindowFlags_NavFlattened) | ||||||
|         //    window->RootNavWindow = window->RootNavWindow->ParentWindow; |         //    window->RootNavWindow = window->RootNavWindow->ParentWindow; | ||||||
|   | |||||||
| @@ -844,7 +844,7 @@ struct IMGUI_API ImGuiWindow | |||||||
|     ImGuiStorage            StateStorage; |     ImGuiStorage            StateStorage; | ||||||
|     float                   FontWindowScale;                    // Scale multiplier per-window |     float                   FontWindowScale;                    // Scale multiplier per-window | ||||||
|     ImDrawList*             DrawList; |     ImDrawList*             DrawList; | ||||||
|     ImGuiWindow*            ParentWindow;                       // If we are a child window, this is pointing to our parent. |     ImGuiWindow*            ParentWindow;                       // If we are a child _or_ popup window, this is pointing to our parent. Otherwise NULL. | ||||||
|     ImGuiWindow*            RootWindow;                         // Generally point to ourself. If we are a child window, this is pointing to the first non-child parent window. |     ImGuiWindow*            RootWindow;                         // Generally point to ourself. If we are a child window, this is pointing to the first non-child parent window. | ||||||
|     ImGuiWindow*            RootNonPopupWindow;                 // Generally point to ourself. Used to display TitleBgActive color and for selecting which window to use for NavWindowing |     ImGuiWindow*            RootNonPopupWindow;                 // Generally point to ourself. Used to display TitleBgActive color and for selecting which window to use for NavWindowing | ||||||
|     ImGuiWindow*            RootNavWindow;                      // Generally point to ourself. If we are a child window with the ImGuiWindowFlags_NavFlattenedChild flag, point to parent. Used to display TitleBgActive color and for selecting which window to use for NavWindowing. |     ImGuiWindow*            RootNavWindow;                      // Generally point to ourself. If we are a child window with the ImGuiWindowFlags_NavFlattenedChild flag, point to parent. Used to display TitleBgActive color and for selecting which window to use for NavWindowing. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user