|
|
|
@ -3883,6 +3883,7 @@ void ImGui::NewFrame() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
g.Time += g.IO.DeltaTime; |
|
|
|
|
g.FrameScopeActive = true; |
|
|
|
|
g.FrameCount += 1; |
|
|
|
|
g.TooltipOverrideCount = 0; |
|
|
|
|
g.WindowsActiveCount = 0; |
|
|
|
@ -4421,9 +4422,11 @@ void ImGui::PopClipRect() |
|
|
|
|
void ImGui::EndFrame() |
|
|
|
|
{ |
|
|
|
|
ImGuiContext& g = *GImGui; |
|
|
|
|
IM_ASSERT(g.Initialized); // Forgot to call ImGui::NewFrame()
|
|
|
|
|
IM_ASSERT(g.Initialized); |
|
|
|
|
if (g.FrameCountEnded == g.FrameCount) // Don't process EndFrame() multiple times.
|
|
|
|
|
return; |
|
|
|
|
IM_ASSERT(g.FrameScopeActive && "Forgot to call ImGui::NewFrame()"); |
|
|
|
|
g.FrameScopeActive = false; |
|
|
|
|
|
|
|
|
|
// Notify OS when our Input Method Editor cursor has moved (e.g. CJK inputs using Microsoft IME)
|
|
|
|
|
if (g.IO.ImeSetInputScreenPosFn && ImLengthSqr(g.PlatformImeLastPos - g.PlatformImePos) > 0.0001f) |
|
|
|
@ -4508,7 +4511,7 @@ void ImGui::EndFrame() |
|
|
|
|
void ImGui::Render() |
|
|
|
|
{ |
|
|
|
|
ImGuiContext& g = *GImGui; |
|
|
|
|
IM_ASSERT(g.Initialized); // Forgot to call ImGui::NewFrame()
|
|
|
|
|
IM_ASSERT(g.Initialized); |
|
|
|
|
|
|
|
|
|
if (g.FrameCountEnded != g.FrameCount) |
|
|
|
|
ImGui::EndFrame(); |
|
|
|
@ -6212,7 +6215,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) |
|
|
|
|
ImGuiContext& g = *GImGui; |
|
|
|
|
const ImGuiStyle& style = g.Style; |
|
|
|
|
IM_ASSERT(name != NULL); // Window name required
|
|
|
|
|
IM_ASSERT(g.Initialized); // Forgot to call ImGui::NewFrame()
|
|
|
|
|
IM_ASSERT(g.FrameScopeActive); // Forgot to call ImGui::NewFrame()
|
|
|
|
|
IM_ASSERT(g.FrameCountEnded != g.FrameCount); // Called ImGui::Render() or ImGui::EndFrame() and haven't called ImGui::NewFrame() again yet
|
|
|
|
|
|
|
|
|
|
// Find or create
|
|
|
|
|