mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-11-03 17:24:24 +00:00 
			
		
		
		
	Viewports: Renamed ConfigViewportsNoParent to ConfigViewportsNoDefaultParent. Fix outdated comments in examples.
This commit is contained in:
		@@ -47,8 +47,8 @@ int main(int, char**)
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;      // Enable Gamepad Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;         // Enable Multi-Viewport / Platform Windows
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -90,8 +90,8 @@ int main(int, char**)
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;      // Enable Gamepad Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;         // Enable Multi-Viewport / Platform Windows
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -358,8 +358,8 @@ int main(int, char**)
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;      // Enable Gamepad Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;         // Enable Multi-Viewport / Platform Windows
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -43,8 +43,8 @@ int main(int, char**)
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;       // Enable Keyboard Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;         // Enable Multi-Viewport / Platform Windows
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -83,8 +83,8 @@ int main(int, char**)
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;       // Enable Keyboard Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;         // Enable Multi-Viewport / Platform Windows
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -117,10 +117,11 @@ int main(int, char**)
 | 
			
		||||
    ImGui::CreateContext();
 | 
			
		||||
    ImGuiIO& io = ImGui::GetIO(); (void)io;
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;       // Enable Keyboard Controls
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;      // Enable Gamepad Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;         // Enable Multi-Viewport / Platform Windows
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -133,16 +133,18 @@ int main(int, char**)
 | 
			
		||||
    ImGui::CreateContext();
 | 
			
		||||
    ImGuiIO& io = ImGui::GetIO(); (void)io;
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;       // Enable Keyboard Controls
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;      // Enable Gamepad Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;         // Enable Multi-Viewport / Platform Windows
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DpiEnableScaleFonts;     // FIXME-DPI: THIS CURRENTLY DOESN'T WORK AS EXPECTED. DON'T USE IN USER APP!
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DpiEnableScaleViewports; // FIXME-DPI
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = false;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
    //io.ConfigViewportsNoDefaultParent = true;
 | 
			
		||||
    //io.ConfigDockingTabBarOnSingleWindows = true;
 | 
			
		||||
    //io.ConfigDockingTransparentPayload = true;
 | 
			
		||||
#if 1
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DpiEnableScaleFonts;     // FIXME-DPI: THIS CURRENTLY DOESN'T WORK AS EXPECTED. DON'T USE IN USER APP!
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DpiEnableScaleViewports; // FIXME-DPI
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -291,10 +291,11 @@ int main(int, char**)
 | 
			
		||||
    ImGui::CreateContext();
 | 
			
		||||
    ImGuiIO& io = ImGui::GetIO(); (void)io;
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;       // Enable Keyboard Controls
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;      // Enable Gamepad Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;       // Enable Multi-Viewport / Platform Windows (FIXME: Currently broken in DX12 back-end, need some work!)
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -115,10 +115,11 @@ int main(int, char**)
 | 
			
		||||
    ImGui::CreateContext();
 | 
			
		||||
    ImGuiIO& io = ImGui::GetIO(); (void)io;
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;       // Enable Keyboard Controls
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;      // Enable Gamepad Controls
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;           // Enable Docking
 | 
			
		||||
    io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable;         // Enable Multi-Viewport / Platform Windows
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoTaskBarIcons;
 | 
			
		||||
    //io.ConfigFlags |= ImGuiConfigFlags_ViewportsNoMerge;
 | 
			
		||||
    //io.ConfigViewportsNoAutoMerge = true;
 | 
			
		||||
    //io.ConfigViewportsNoTaskBarIcon = true;
 | 
			
		||||
 | 
			
		||||
    // Setup Dear ImGui style
 | 
			
		||||
    ImGui::StyleColorsDark();
 | 
			
		||||
 
 | 
			
		||||
@@ -1207,7 +1207,7 @@ ImGuiIO::ImGuiIO()
 | 
			
		||||
    ConfigViewportsNoAutoMerge = false;
 | 
			
		||||
    ConfigViewportsNoTaskBarIcon = false;
 | 
			
		||||
    ConfigViewportsNoDecoration = true;
 | 
			
		||||
    ConfigViewportsNoParent = false;
 | 
			
		||||
    ConfigViewportsNoDefaultParent = false;
 | 
			
		||||
 | 
			
		||||
    // Miscellaneous options
 | 
			
		||||
    MouseDrawCursor = false;
 | 
			
		||||
@@ -5605,7 +5605,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
 | 
			
		||||
            if (window->WindowClass.ParentViewportId)
 | 
			
		||||
                window->Viewport->ParentViewportId = window->WindowClass.ParentViewportId;
 | 
			
		||||
            else
 | 
			
		||||
                window->Viewport->ParentViewportId = g.IO.ConfigViewportsNoParent ? 0 : IMGUI_VIEWPORT_DEFAULT_ID;
 | 
			
		||||
                window->Viewport->ParentViewportId = g.IO.ConfigViewportsNoDefaultParent ? 0 : IMGUI_VIEWPORT_DEFAULT_ID;
 | 
			
		||||
            if (window->WindowClass.ViewportFlagsOverrideMask)
 | 
			
		||||
                viewport_flags = (viewport_flags & ~window->WindowClass.ViewportFlagsOverrideMask) | (window->WindowClass.ViewportFlagsOverrideValue & window->WindowClass.ViewportFlagsOverrideMask);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							@@ -1400,7 +1400,7 @@ struct ImGuiIO
 | 
			
		||||
    bool        ConfigViewportsNoAutoMerge;     // = false;         // Set to make all floating imgui windows always create their own viewport. Otherwise, they are merged into the main host viewports when overlapping it.
 | 
			
		||||
    bool        ConfigViewportsNoTaskBarIcon;   // = false          // Disable default OS task bar icon flag for secondary viewports. When a viewport doesn't want a task bar icon, ImGuiViewportFlags_NoTaskBarIcon will be set on it.
 | 
			
		||||
    bool        ConfigViewportsNoDecoration;    // = true           // [BETA] Disable default OS window decoration flag for secondary viewports. When a viewport doesn't want window decorations, ImGuiViewportFlags_NoDecoration will be set on it. Enabling decoration can create subsequent issues at OS levels (e.g. minimum window size).
 | 
			
		||||
    bool        ConfigViewportsNoParent;        // = false          // Disable default OS parenting to main viewport for secondary viewports. By default, viewports are marked with ParentViewportId = <main_viewport>, expecting the platform back-end to setup a parent/child relationship between the OS windows (some back-end may ignore this). Set to true if you want the default to be 0, then all viewports will be top-level OS windows.
 | 
			
		||||
    bool        ConfigViewportsNoDefaultParent; // = false          // Disable default OS parenting to main viewport for secondary viewports. By default, viewports are marked with ParentViewportId = <main_viewport>, expecting the platform back-end to setup a parent/child relationship between the OS windows (some back-end may ignore this). Set to true if you want the default to be 0, then all viewports will be top-level OS windows.
 | 
			
		||||
 | 
			
		||||
    // Miscellaneous options
 | 
			
		||||
    bool        MouseDrawCursor;                // = false          // Request ImGui to draw a mouse cursor for you (if you are on a platform without a mouse cursor). Cannot be easily renamed to 'io.ConfigXXX' because this is frequently used by back-end implementations.
 | 
			
		||||
 
 | 
			
		||||
@@ -373,7 +373,7 @@ void ImGui::ShowDemoWindow(bool* p_open)
 | 
			
		||||
                ImGui::SameLine(); HelpMarker("Toggling this at runtime is normally unsupported (most platform back-ends won't refresh the task bar icon state right away).");
 | 
			
		||||
                ImGui::Checkbox("io.ConfigViewportsNoDecoration", &io.ConfigViewportsNoDecoration);
 | 
			
		||||
                ImGui::SameLine(); HelpMarker("Toggling this at runtime is normally unsupported (most platform back-ends won't refresh the decoration right away).");
 | 
			
		||||
                ImGui::Checkbox("io.ConfigViewportsNoParent", &io.ConfigViewportsNoParent);
 | 
			
		||||
                ImGui::Checkbox("io.ConfigViewportsNoDefaultParent", &io.ConfigViewportsNoDefaultParent);
 | 
			
		||||
                ImGui::SameLine(); HelpMarker("Toggling this at runtime is normally unsupported (most platform back-ends won't refresh the parenting right away).");
 | 
			
		||||
                ImGui::Unindent();
 | 
			
		||||
            }
 | 
			
		||||
@@ -2802,7 +2802,7 @@ void ImGui::ShowAboutWindow(bool* p_open)
 | 
			
		||||
        if (io.ConfigViewportsNoAutoMerge)                              ImGui::Text("io.ConfigViewportsNoAutoMerge");
 | 
			
		||||
        if (io.ConfigViewportsNoTaskBarIcon)                            ImGui::Text("io.ConfigViewportsNoTaskBarIcon");
 | 
			
		||||
        if (io.ConfigViewportsNoDecoration)                             ImGui::Text("io.ConfigViewportsNoDecoration");
 | 
			
		||||
        if (io.ConfigViewportsNoParent)                                 ImGui::Text("io.ConfigViewportsNoParent");
 | 
			
		||||
        if (io.ConfigViewportsNoDefaultParent)                          ImGui::Text("io.ConfigViewportsNoDefaultParent");
 | 
			
		||||
        if (io.ConfigDockingNoSplit)                                    ImGui::Text("io.ConfigDockingNoSplit");
 | 
			
		||||
        if (io.ConfigDockingWithShift)                                  ImGui::Text("io.ConfigDockingWithShift");
 | 
			
		||||
        if (io.ConfigDockingTabBarOnSingleWindows)                      ImGui::Text("io.ConfigDockingTabBarOnSingleWindows");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user