satdump/src-core/common/widgets/fft_plot.h

43 lines
858 B
C
Raw Permalink Normal View History

#pragma once
#include "imgui/imgui.h"
2022-11-29 00:01:26 +01:00
#include <mutex>
#include "image/image.h"
2024-05-09 01:16:08 +02:00
#include <string>
namespace widgets
{
class FFTPlot
{
private:
float *values;
int values_size;
2022-11-29 00:01:26 +01:00
std::mutex work_mutex;
public:
float scale_min, scale_max;
2021-08-15 16:47:44 +02:00
float scale_resolution;
2023-07-28 13:55:21 +02:00
double bandwidth = 0;
double frequency = 0;
2023-07-28 20:38:23 +02:00
bool enable_freq_scale = true;
double actual_sdr_freq = -1;
public:
2021-08-15 16:47:44 +02:00
FFTPlot(float *v, int size, float min, float max, float scale_res = 20);
2023-12-16 19:58:45 +01:00
void draw(ImVec2 size);
2024-05-09 01:16:08 +02:00
image::Image drawImg(int size_x, int size_y);
2022-11-29 00:01:26 +01:00
void set_size(int size)
{
work_mutex.lock();
values_size = size;
work_mutex.unlock();
}
2024-01-19 00:29:42 +01:00
std::vector<std::pair<std::string, double>> vfo_freqs;
};
}