mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	This commit is contained in:
		@@ -64,6 +64,9 @@ Other changes:
 | 
			
		||||
- Misc: Added ImVec2 unary minus operator. (#6368) [@Koostosh]
 | 
			
		||||
- Debug Tools: Debug Log: Fixed not parsing 0xXXXXXXXX values for geo-locating on mouse
 | 
			
		||||
  hover hover when the identifier is at the end of the line. (#5855)
 | 
			
		||||
- Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option to disable 'io.AddFocusEvent(false)'
 | 
			
		||||
  handling. May facilitate interactions with a debugger when focus loss leads to clearing
 | 
			
		||||
  inputs data. (#4388, #4921)
 | 
			
		||||
- Backends: Clear bits sets io.BackendFlags on backend Shutdown(). (#6334, #6335] [@GereonV]
 | 
			
		||||
  Potentially this would facilitate switching runtime backend mid-session.
 | 
			
		||||
- Backends: Win32: Added ImGui_ImplWin32_InitForOpenGL() to facilitate combining raw
 | 
			
		||||
 
 | 
			
		||||
@@ -1540,7 +1540,7 @@ void ImGuiIO::AddFocusEvent(bool focused)
 | 
			
		||||
    // Filter duplicate
 | 
			
		||||
    const ImGuiInputEvent* latest_event = FindLatestInputEvent(&g, ImGuiInputEventType_Focus);
 | 
			
		||||
    const bool latest_focused = latest_event ? latest_event->AppFocused.Focused : !g.IO.AppFocusLost;
 | 
			
		||||
    if (latest_focused == focused)
 | 
			
		||||
    if (latest_focused == focused || (ConfigDebugIgnoreFocusLoss && !focused))
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    ImGuiInputEvent e;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								imgui.h
									
									
									
									
									
								
							@@ -1952,11 +1952,15 @@ struct ImGuiIO
 | 
			
		||||
 | 
			
		||||
    // Debug options
 | 
			
		||||
    // - tools to test correct Begin/End and BeginChild/EndChild behaviors.
 | 
			
		||||
    // - presently Begn()/End() and BeginChild()EndChild() needs to ALWAYS be called in tandem, regardless of return value of BeginXXX()
 | 
			
		||||
    // - presently Begin()/End() and BeginChild()/EndChild() needs to ALWAYS be called in tandem, regardless of return value of BeginXXX()
 | 
			
		||||
    //   this is inconsistent with other BeginXXX functions and create confusion for many users.
 | 
			
		||||
    // - we expect to update the API eventually. In the meanwhile we provided tools to facilitate checking user-code behavior.
 | 
			
		||||
    bool        ConfigDebugBeginReturnValueOnce; // = false         // First-time calls to Begin()/BeginChild() will return false. NEEDS TO BE SET AT APPLICATION BOOT TIME if you don't want to miss windows.
 | 
			
		||||
    bool        ConfigDebugBeginReturnValueLoop; // = false         // Some calls to Begin()/BeginChild() will return false. Will cycle through window depths then repeat. Suggested use: add "io.ConfigDebugBeginReturnValue = io.KeyShift" in your main loop then occasionally press SHIFT. Windows should be flickering while running.
 | 
			
		||||
    // - we expect to update the API eventually. In the meanwhile we provide tools to facilitate checking user-code behavior.
 | 
			
		||||
    bool        ConfigDebugBeginReturnValueOnce;// = false          // First-time calls to Begin()/BeginChild() will return false. NEEDS TO BE SET AT APPLICATION BOOT TIME if you don't want to miss windows.
 | 
			
		||||
    bool        ConfigDebugBeginReturnValueLoop;// = false          // Some calls to Begin()/BeginChild() will return false. Will cycle through window depths then repeat. Suggested use: add "io.ConfigDebugBeginReturnValue = io.KeyShift" in your main loop then occasionally press SHIFT. Windows should be flickering while running.
 | 
			
		||||
    // - option to deactivate io.AddFocusEvent(false) handling. May facilitate interactions with a debugger when focus loss leads to clearing inputs data.
 | 
			
		||||
    // - backends may have other side-effects on focus loss, so this will reduce side-effects but not necessary remove all of them.
 | 
			
		||||
    // - consider using e.g. Win32's IsDebuggerPresent() as an additional filter (or see ImOsIsDebuggerPresent() in imgui_test_engine/imgui_te_utils.cpp for a Unix compatible version).
 | 
			
		||||
    bool        ConfigDebugIgnoreFocusLoss;     // = false          // Ignore io.AddFocusEvent(false), consequently not calling io.ClearInputKeys() in input processing.
 | 
			
		||||
 | 
			
		||||
    //------------------------------------------------------------------
 | 
			
		||||
    // Platform Functions
 | 
			
		||||
 
 | 
			
		||||
@@ -471,6 +471,8 @@ void ImGui::ShowDemoWindow(bool* p_open)
 | 
			
		||||
            ImGui::SameLine(); HelpMarker("First calls to Begin()/BeginChild() will return false.\n\nTHIS OPTION IS DISABLED because it needs to be set at application boot-time to make sense. Showing the disabled option is a way to make this feature easier to discover");
 | 
			
		||||
            ImGui::Checkbox("io.ConfigDebugBeginReturnValueLoop", &io.ConfigDebugBeginReturnValueLoop);
 | 
			
		||||
            ImGui::SameLine(); HelpMarker("Some calls to Begin()/BeginChild() will return false.\n\nWill cycle through window depths then repeat. Windows should be flickering while running.");
 | 
			
		||||
            ImGui::Checkbox("io.ConfigDebugIgnoreFocusLoss", &io.ConfigDebugIgnoreFocusLoss);
 | 
			
		||||
            ImGui::SameLine(); HelpMarker("Option to deactivate io.AddFocusEvent(false) handling. May facilitate interactions with a debugger when focus loss leads to clearing inputs data.");
 | 
			
		||||
 | 
			
		||||
            ImGui::TreePop();
 | 
			
		||||
            ImGui::Spacing();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user