mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Viewport: Made platform_io.Monitors mandatory for proper multi-viewport use.
This commit is contained in:
		@@ -3427,6 +3427,7 @@ void ImGui::NewFrame()
 | 
			
		||||
            IM_ASSERT(g.PlatformIO.Platform_SetWindowPos != NULL  && "Platform init didn't install handlers?");
 | 
			
		||||
            IM_ASSERT(g.PlatformIO.Platform_GetWindowSize != NULL  && "Platform init didn't install handlers?");
 | 
			
		||||
            IM_ASSERT(g.PlatformIO.Platform_SetWindowSize != NULL  && "Platform init didn't install handlers?");
 | 
			
		||||
            IM_ASSERT(g.PlatformIO.Monitors.Size > 0 && "Platform init didn't setup Monitors list?");
 | 
			
		||||
            IM_ASSERT((g.Viewports[0]->PlatformUserData != NULL || g.Viewports[0]->PlatformHandle != NULL) && "Platform init didn't setup main viewport.");
 | 
			
		||||
#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
 | 
			
		||||
            IM_ASSERT(g.IO.RenderDrawListsFn == NULL);  // Call ImGui::Render() then pass ImGui::GetDrawData() yourself to your render function!
 | 
			
		||||
@@ -10445,7 +10446,7 @@ void ImGui::ShowMetricsWindow(bool* p_open)
 | 
			
		||||
        ImGui::Unindent(ImGui::GetTreeNodeToLabelSpacing());
 | 
			
		||||
        if (g.PlatformIO.Monitors.Size > 0 && ImGui::TreeNode("Monitors", "Monitors (%d)", g.PlatformIO.Monitors.Size))
 | 
			
		||||
        {
 | 
			
		||||
            ImGui::TextWrapped("(When viewports are enabled, imgui optionally uses monitor data to position popup/tooltips so they don't straddle monitors.)");
 | 
			
		||||
            ImGui::TextWrapped("(When viewports are enabled, imgui needs uses monitor data to position popup/tooltips so they don't straddle monitors.)");
 | 
			
		||||
            for (int i = 0; i < g.PlatformIO.Monitors.Size; i++)
 | 
			
		||||
            {
 | 
			
		||||
                const ImGuiPlatformMonitor& mon = g.PlatformIO.Monitors[i];
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								imgui.h
									
									
									
									
									
								
							@@ -2174,8 +2174,8 @@ struct ImFont
 | 
			
		||||
// - if you are new to dear imgui and trying to integrate it into your engine, you should probably ignore this for now.
 | 
			
		||||
//-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
// (Optional) Represent the bounds of each connected monitor/display and their DPI
 | 
			
		||||
// This is used for: multiple DPI support + clamping the position of popups and tooltips so they don't straddle multiple monitors.
 | 
			
		||||
// (Optional) This is required when enabling multi-viewport. Represent the bounds of each connected monitor/display and their DPI. 
 | 
			
		||||
// We use this information for multiple DPI support + clamping the position of popups and tooltips so they don't straddle multiple monitors.
 | 
			
		||||
struct ImGuiPlatformMonitor
 | 
			
		||||
{
 | 
			
		||||
    ImVec2  MainPos, MainSize;  // Coordinates of the area displayed on this monitor (Min = upper left, Max = bottom right)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user