|
|
|
@ -1401,34 +1401,39 @@ void Render()
|
|
|
|
|
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.
|
|
|
|
|