mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
Internals: Add a way to request window to not process any interactions for specified number of frames.
This commit is contained in:
parent
a1a39c632a
commit
0c5b0c8b97
@ -134,7 +134,7 @@ bool ImGui_ImplWin32_Init(void* hwnd)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif // IMGUI_IMPL_WIN32_DISABLE_GAMEPAD
|
#endif // IMGUI_IMPL_WIN32_DISABLE_GAMEPAD
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ void ImGui_ImplWin32_Shutdown()
|
|||||||
g_XInputGetCapabilities = NULL;
|
g_XInputGetCapabilities = NULL;
|
||||||
g_XInputGetState = NULL;
|
g_XInputGetState = NULL;
|
||||||
#endif // IMGUI_IMPL_WIN32_DISABLE_GAMEPAD
|
#endif // IMGUI_IMPL_WIN32_DISABLE_GAMEPAD
|
||||||
|
|
||||||
g_hWnd = NULL;
|
g_hWnd = NULL;
|
||||||
g_Time = 0;
|
g_Time = 0;
|
||||||
g_TicksPerSecond = 0;
|
g_TicksPerSecond = 0;
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user