| 1747 | } |
| 1748 | } |
| 1749 | |
| 1750 | void NewFrame() |
| 1751 | { |
| 1752 | if (!s_initialized) |
| 1753 | return; |
| 1754 | if (!AppConfig::Instance().DevMode() && s_visible) |
| 1755 | SetVisible(false); |
| 1756 | // Toggle the software cursor with panel visibility. When the panel is |
| 1757 | // shown, the engine's UI cursor renders BEHIND ImGui (we composite ImGui |
| 1758 | // after the game render), so we draw our own cursor as part of ImGui's |
| 1759 | // drawlist to stay on top. When hidden, fall back to the engine cursor. |
| 1760 | ImGui::GetIO().MouseDrawCursor = s_visible; |
| 1761 | ImGui_ImplOpenGL3_NewFrame(); |
| 1762 | ImGui_ImplSDL3_NewFrame(); |
| 1763 | ImGui::NewFrame(); |
| 1764 | if (s_visible) |
| 1765 | DrawMainWindow(); |
| 1766 | } |
| 1767 | |
| 1768 | void Render() |
no test coverage detected