17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-17 15:39:20 +02:00
Files
maszyna/widgets/perfgraphs.cppm
maj00r ce5ee288ff fix the clang CI build
Every module unit now includes the standard headers it uses. Declarations
reaching a unit only through an imported module's global module fragment
are reachable but not visible, so ADL misses the free operators older
libstdc++ declares beside a type - reproduced on ubuntu 24.04 (libstdc++
13), where gl/vao.cpp could not compare vector iterators.

Also drops a stale editor/editorSettings.hpp from the MSVC source list,
which broke the Windows configure step, silences the deliberate
include-in-purview warning in the glm wrapper, and removes GCC support:
clang or MSVC only.
2026-09-09 22:52:28 +02:00

58 lines
874 B
C++

module;
#include <array>
#include <string>
#include <vector>
export module eu07.widgets.perfgraphs;
import eu07.application.uilayer;
export {
class perfgraph_panel : public ui_panel
{
std::array<float, 400> history = { 0 };
size_t pos = 0;
enum timers_e {
gfx_total = 0,
gfx_color,
gfx_shadows,
gfx_reflections,
gfx_swap,
gfx_gui,
gfx_animate,
sim_total,
sim_dynamics,
sim_events,
sim_ai,
mainloop_total,
TIMER_MAX
};
float max = 50.0f;
timers_e current_timer = mainloop_total;
std::vector<std::string> timer_label =
{
"gfx_total",
"gfx_color",
"gfx_shadows",
"gfx_reflections",
"gfx_swap",
"gfx_gui",
"gfx_animate",
"sim_total",
"sim_dynamics",
"sim_events",
"sim_ai",
"mainloop_total"
};
public:
perfgraph_panel();
void render_contents() override;
};
} // export