mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 21:21:06 +01:00 
			
		
		
		
	Internals: Add a way to request window to not process any interactions for specified number of frames.
This commit is contained in:
		| @@ -6294,6 +6294,13 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) | |||||||
|         // Update the Hidden flag |         // Update the Hidden flag | ||||||
|         window->Hidden = (window->HiddenFramesCanSkipItems > 0) || (window->HiddenFramesCannotSkipItems > 0) || (window->HiddenFramesForRenderOnly > 0); |         window->Hidden = (window->HiddenFramesCanSkipItems > 0) || (window->HiddenFramesCannotSkipItems > 0) || (window->HiddenFramesForRenderOnly > 0); | ||||||
|  |  | ||||||
|  |         // Disable inputs for requested number of frames | ||||||
|  |         if (window->DisableInputsFrames > 0) | ||||||
|  |         { | ||||||
|  |             window->DisableInputsFrames--; | ||||||
|  |             window->Flags |= ImGuiWindowFlags_NoInputs; | ||||||
|  |         } | ||||||
|  |  | ||||||
|         // Update the SkipItems flag, used to early out of all items functions (no layout required) |         // Update the SkipItems flag, used to early out of all items functions (no layout required) | ||||||
|         bool skip_items = false; |         bool skip_items = false; | ||||||
|         if (window->Collapsed || !window->Active || window->Hidden) |         if (window->Collapsed || !window->Active || window->Hidden) | ||||||
|   | |||||||
| @@ -1784,6 +1784,7 @@ struct IMGUI_API ImGuiWindow | |||||||
|     ImS8                    HiddenFramesCanSkipItems;           // Hide the window for N frames |     ImS8                    HiddenFramesCanSkipItems;           // Hide the window for N frames | ||||||
|     ImS8                    HiddenFramesCannotSkipItems;        // Hide the window for N frames while allowing items to be submitted so we can measure their size |     ImS8                    HiddenFramesCannotSkipItems;        // Hide the window for N frames while allowing items to be submitted so we can measure their size | ||||||
|     ImS8                    HiddenFramesForRenderOnly;          // Hide the window until frame N at Render() time only |     ImS8                    HiddenFramesForRenderOnly;          // Hide the window until frame N at Render() time only | ||||||
|  |     ImS8                    DisableInputsFrames;                // Disable window interactions for N frames | ||||||
|     ImGuiCond               SetWindowPosAllowFlags : 8;         // store acceptable condition flags for SetNextWindowPos() use. |     ImGuiCond               SetWindowPosAllowFlags : 8;         // store acceptable condition flags for SetNextWindowPos() use. | ||||||
|     ImGuiCond               SetWindowSizeAllowFlags : 8;        // store acceptable condition flags for SetNextWindowSize() use. |     ImGuiCond               SetWindowSizeAllowFlags : 8;        // store acceptable condition flags for SetNextWindowSize() use. | ||||||
|     ImGuiCond               SetWindowCollapsedAllowFlags : 8;   // store acceptable condition flags for SetNextWindowCollapsed() use. |     ImGuiCond               SetWindowCollapsedAllowFlags : 8;   // store acceptable condition flags for SetNextWindowCollapsed() use. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user