commit no. 6

This commit is contained in:
2026-03-25 19:48:16 +01:00
parent 7503052079
commit cf397eaa2d
2 changed files with 27 additions and 0 deletions

View File

@@ -253,6 +253,20 @@ void Application::render() {
if (ImGui::BeginMenu("View")) { if (ImGui::BeginMenu("View")) {
ImGui::MenuItem("Grid", nullptr, &specDisplay_.showGrid); ImGui::MenuItem("Grid", nullptr, &specDisplay_.showGrid);
ImGui::MenuItem("Fill Spectrum", nullptr, &specDisplay_.fillSpectrum); ImGui::MenuItem("Fill Spectrum", nullptr, &specDisplay_.fillSpectrum);
ImGui::Separator();
if (ImGui::MenuItem("VSync", nullptr, &vsync_)) {
SDL_GL_SetSwapInterval(vsync_ ? 1 : 0);
}
ImGui::EndMenu();
}
if (ImGui::BeginMenu("Debug")) {
ImGui::MenuItem("Metrics/Debugger", nullptr, &showMetricsWindow_);
ImGui::MenuItem("Debug Log", nullptr, &showDebugLog_);
ImGui::MenuItem("Stack Tool", nullptr, &showStackTool_);
ImGui::MenuItem("Demo Window", nullptr, &showDemoWindow_);
ImGui::Separator();
ImGui::Text("%.1f FPS (%.3f ms)", ImGui::GetIO().Framerate,
1000.0f / ImGui::GetIO().Framerate);
ImGui::EndMenu(); ImGui::EndMenu();
} }
ImGui::EndMenuBar(); ImGui::EndMenuBar();
@@ -337,6 +351,12 @@ void Application::render() {
ImGui::End(); ImGui::End();
// ImGui debug windows
if (showDemoWindow_) ImGui::ShowDemoWindow(&showDemoWindow_);
if (showMetricsWindow_) ImGui::ShowMetricsWindow(&showMetricsWindow_);
if (showDebugLog_) ImGui::ShowDebugLogWindow(&showDebugLog_);
if (showStackTool_) ImGui::ShowIDStackToolWindow(&showStackTool_);
// Render // Render
ImGui::Render(); ImGui::Render();
int displayW, displayH; int displayW, displayH;

View File

@@ -113,6 +113,7 @@ private:
float maxDB_ = 0.0f; float maxDB_ = 0.0f;
FreqScale freqScale_ = FreqScale::Linear; FreqScale freqScale_ = FreqScale::Linear;
bool paused_ = false; bool paused_ = false;
bool vsync_ = true;
// (waterfallW_ removed — texture width tracks bin count automatically) // (waterfallW_ removed — texture width tracks bin count automatically)
// (waterfallH_ removed — fixed history depth of 1024 rows) // (waterfallH_ removed — fixed history depth of 1024 rows)
@@ -171,6 +172,12 @@ private:
float specPosX_ = 0, specPosY_ = 0, specSizeX_ = 0, specSizeY_ = 0; float specPosX_ = 0, specPosY_ = 0, specSizeX_ = 0, specSizeY_ = 0;
float wfPosX_ = 0, wfPosY_ = 0, wfSizeX_ = 0, wfSizeY_ = 0; float wfPosX_ = 0, wfPosY_ = 0, wfSizeX_ = 0, wfSizeY_ = 0;
// ImGui debug windows
bool showDemoWindow_ = false;
bool showMetricsWindow_ = false;
bool showDebugLog_ = false;
bool showStackTool_ = false;
// Pre-allocated scratch buffers (avoid per-frame heap allocations) // Pre-allocated scratch buffers (avoid per-frame heap allocations)
std::vector<std::vector<float>> wfSpectraScratch_; std::vector<std::vector<float>> wfSpectraScratch_;
std::vector<WaterfallChannelInfo> wfChInfoScratch_; std::vector<WaterfallChannelInfo> wfChInfoScratch_;