mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-29 20:21:40 +01:00 
			
		
		
		
	Begin: Moving some code around for the benefits of the wip viewport branch.
This commit is contained in:
		
							
								
								
									
										18
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -4478,6 +4478,13 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) | |||||||
|         window->LastFrameActive = current_frame; |         window->LastFrameActive = current_frame; | ||||||
|         window->IDStack.resize(1); |         window->IDStack.resize(1); | ||||||
|  |  | ||||||
|  |         // Lock window rounding, border size and rounding so that altering the border sizes for children doesn't have side-effects. | ||||||
|  |         window->WindowRounding = (flags & ImGuiWindowFlags_ChildWindow) ? style.ChildRounding : ((flags & ImGuiWindowFlags_Popup) && !(flags & ImGuiWindowFlags_Modal)) ? style.PopupRounding : style.WindowRounding; | ||||||
|  |         window->WindowBorderSize = (flags & ImGuiWindowFlags_ChildWindow) ? style.ChildBorderSize : ((flags & ImGuiWindowFlags_Popup) && !(flags & ImGuiWindowFlags_Modal)) ? style.PopupBorderSize : style.WindowBorderSize; | ||||||
|  |         window->WindowPadding = style.WindowPadding; | ||||||
|  |         if ((flags & ImGuiWindowFlags_ChildWindow) && !(flags & (ImGuiWindowFlags_AlwaysUseWindowPadding | ImGuiWindowFlags_Popup)) && window->WindowBorderSize == 0.0f) | ||||||
|  |             window->WindowPadding = ImVec2(0.0f, (flags & ImGuiWindowFlags_MenuBar) ? style.WindowPadding.y : 0.0f); | ||||||
|  |  | ||||||
|         // Setup draw list and outer clipping rectangle |         // Setup draw list and outer clipping rectangle | ||||||
|         window->DrawList->Clear(); |         window->DrawList->Clear(); | ||||||
|         window->DrawList->Flags = (g.Style.AntiAliasedLines ? ImDrawListFlags_AntiAliasedLines : 0) | (g.Style.AntiAliasedFill ? ImDrawListFlags_AntiAliasedFill : 0); |         window->DrawList->Flags = (g.Style.AntiAliasedLines ? ImDrawListFlags_AntiAliasedLines : 0) | (g.Style.AntiAliasedFill ? ImDrawListFlags_AntiAliasedFill : 0); | ||||||
| @@ -4534,15 +4541,6 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // Lock window rounding, border size and rounding so that altering the border sizes for children doesn't have side-effects. |  | ||||||
|         window->WindowRounding = (flags & ImGuiWindowFlags_ChildWindow) ? style.ChildRounding : ((flags & ImGuiWindowFlags_Popup) && !(flags & ImGuiWindowFlags_Modal)) ? style.PopupRounding : style.WindowRounding; |  | ||||||
|         window->WindowBorderSize = (flags & ImGuiWindowFlags_ChildWindow) ? style.ChildBorderSize : ((flags & ImGuiWindowFlags_Popup) && !(flags & ImGuiWindowFlags_Modal)) ? style.PopupBorderSize : style.WindowBorderSize; |  | ||||||
|         window->WindowPadding = style.WindowPadding; |  | ||||||
|         if ((flags & ImGuiWindowFlags_ChildWindow) && !(flags & (ImGuiWindowFlags_AlwaysUseWindowPadding | ImGuiWindowFlags_Popup)) && window->WindowBorderSize == 0.0f) |  | ||||||
|             window->WindowPadding = ImVec2(0.0f, (flags & ImGuiWindowFlags_MenuBar) ? style.WindowPadding.y : 0.0f); |  | ||||||
|         const float window_rounding = window->WindowRounding; |  | ||||||
|         const float window_border_size = window->WindowBorderSize; |  | ||||||
|  |  | ||||||
|         // Calculate auto-fit size, handle automatic resize |         // Calculate auto-fit size, handle automatic resize | ||||||
|         const ImVec2 size_auto_fit = CalcSizeAutoFit(window, window->SizeContents); |         const ImVec2 size_auto_fit = CalcSizeAutoFit(window, window->SizeContents); | ||||||
|         ImVec2 size_full_modified(FLT_MAX, FLT_MAX); |         ImVec2 size_full_modified(FLT_MAX, FLT_MAX); | ||||||
| @@ -4676,6 +4674,8 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) | |||||||
|             window->DrawList->AddRectFilled(fullscreen_rect.Min, fullscreen_rect.Max, GetColorU32(ImGuiCol_ModalWindowDarkening, g.ModalWindowDarkeningRatio)); |             window->DrawList->AddRectFilled(fullscreen_rect.Min, fullscreen_rect.Max, GetColorU32(ImGuiCol_ModalWindowDarkening, g.ModalWindowDarkeningRatio)); | ||||||
|  |  | ||||||
|         // Draw window + handle manual resize |         // Draw window + handle manual resize | ||||||
|  |         const float window_rounding = window->WindowRounding; | ||||||
|  |         const float window_border_size = window->WindowBorderSize; | ||||||
|         ImRect title_bar_rect = window->TitleBarRect(); |         ImRect title_bar_rect = window->TitleBarRect(); | ||||||
|         if (window->Collapsed) |         if (window->Collapsed) | ||||||
|         { |         { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user