|
@@ -1401,34 +1401,39 @@ void Render()
|
|
memset(g.IO.InputCharacters, 0, sizeof(g.IO.InputCharacters));
|
|
memset(g.IO.InputCharacters, 0, sizeof(g.IO.InputCharacters));
|
|
}
|
|
}
|
|
|
|
|
|
- // Render tooltip
|
|
|
|
- if (g.Tooltip[0])
|
|
|
|
|
|
+ // Skip render altogether if alpha is 0.0
|
|
|
|
+ // Note that vertex buffers have been created, so it is best practice that you don't call Begin/End in the first place.
|
|
|
|
+ if (g.Style.Alpha > 0.0f)
|
|
{
|
|
{
|
|
- // Use a dummy window to render the tooltip
|
|
|
|
- ImGui::BeginTooltip();
|
|
|
|
- ImGui::TextUnformatted(g.Tooltip);
|
|
|
|
- ImGui::EndTooltip();
|
|
|
|
- }
|
|
|
|
|
|
+ // Render tooltip
|
|
|
|
+ if (g.Tooltip[0])
|
|
|
|
+ {
|
|
|
|
+ // Use a dummy window to render the tooltip
|
|
|
|
+ ImGui::BeginTooltip();
|
|
|
|
+ ImGui::TextUnformatted(g.Tooltip);
|
|
|
|
+ ImGui::EndTooltip();
|
|
|
|
+ }
|
|
|
|
|
|
- // Gather windows to render
|
|
|
|
- g.RenderDrawLists.resize(0);
|
|
|
|
- for (size_t i = 0; i != g.Windows.size(); i++)
|
|
|
|
- {
|
|
|
|
- ImGuiWindow* window = g.Windows[i];
|
|
|
|
- if (window->Visible && (window->Flags & (ImGuiWindowFlags_ChildWindow | ImGuiWindowFlags_Tooltip)) == 0)
|
|
|
|
- window->AddToRenderList();
|
|
|
|
- }
|
|
|
|
- for (size_t i = 0; i != g.Windows.size(); i++)
|
|
|
|
- {
|
|
|
|
- ImGuiWindow* window = g.Windows[i];
|
|
|
|
- if (window->Visible && (window->Flags & ImGuiWindowFlags_Tooltip))
|
|
|
|
- window->AddToRenderList();
|
|
|
|
- }
|
|
|
|
|
|
+ // Gather windows to render
|
|
|
|
+ g.RenderDrawLists.resize(0);
|
|
|
|
+ for (size_t i = 0; i != g.Windows.size(); i++)
|
|
|
|
+ {
|
|
|
|
+ ImGuiWindow* window = g.Windows[i];
|
|
|
|
+ if (window->Visible && (window->Flags & (ImGuiWindowFlags_ChildWindow | ImGuiWindowFlags_Tooltip)) == 0)
|
|
|
|
+ window->AddToRenderList();
|
|
|
|
+ }
|
|
|
|
+ for (size_t i = 0; i != g.Windows.size(); i++)
|
|
|
|
+ {
|
|
|
|
+ ImGuiWindow* window = g.Windows[i];
|
|
|
|
+ if (window->Visible && (window->Flags & ImGuiWindowFlags_Tooltip))
|
|
|
|
+ window->AddToRenderList();
|
|
|
|
+ }
|
|
|
|
|
|
- // Render
|
|
|
|
- if (!g.RenderDrawLists.empty())
|
|
|
|
- g.IO.RenderDrawListsFn(&g.RenderDrawLists[0], (int)g.RenderDrawLists.size());
|
|
|
|
- g.RenderDrawLists.resize(0);
|
|
|
|
|
|
+ // Render
|
|
|
|
+ if (!g.RenderDrawLists.empty())
|
|
|
|
+ g.IO.RenderDrawListsFn(&g.RenderDrawLists[0], (int)g.RenderDrawLists.size());
|
|
|
|
+ g.RenderDrawLists.resize(0);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
// Find the optional ## from which we stop displaying text.
|
|
// Find the optional ## from which we stop displaying text.
|