#pragma once #include #include #include #include #include namespace ImGui { class WaterFall { public: WaterFall(); void draw(); void pushFFT(std::vector data, int n); private: void drawWaterfall(ImGuiWindow* window, int width, int height, ImVec2 pos); std::vector> fftBuffer; bool newSamples; std::mutex buf_mtx; GLuint textureId; uint8_t* pixelBuffer; }; };