mirror of
https://github.com/AlexandreRouma/SDRPlusPlus.git
synced 2026-04-19 06:42:43 +00:00
multi-vfo
This commit is contained in:
@@ -12,6 +12,41 @@
|
||||
|
||||
namespace ImGui {
|
||||
|
||||
class WaterfallVFO {
|
||||
public:
|
||||
void setOffset(float offset);
|
||||
void setCenterOffset(float offset);
|
||||
void setBandwidth(float bw);
|
||||
void setReference(int ref);
|
||||
void updateDrawingVars(float viewBandwidth, float dataWidth, float viewOffset, ImVec2 widgetPos, int fftHeight);
|
||||
void draw(ImGuiWindow* window, bool selected);
|
||||
|
||||
enum {
|
||||
REF_LOWER,
|
||||
REF_CENTER,
|
||||
REF_UPPER,
|
||||
_REF_COUNT
|
||||
};
|
||||
|
||||
float generalOffset;
|
||||
float centerOffset;
|
||||
float lowerOffset;
|
||||
float upperOffset;
|
||||
float bandwidth;
|
||||
int reference = REF_CENTER;
|
||||
|
||||
ImVec2 rectMin;
|
||||
ImVec2 rectMax;
|
||||
ImVec2 lineMin;
|
||||
ImVec2 lineMax;
|
||||
|
||||
bool centerOffsetChanged = false;
|
||||
bool lowerOffsetChanged = false;
|
||||
bool upperOffsetChanged = false;
|
||||
bool redrawRequired = true;
|
||||
bool lineVisible = true;
|
||||
};
|
||||
|
||||
class WaterFall {
|
||||
public:
|
||||
WaterFall();
|
||||
@@ -27,14 +62,6 @@ namespace ImGui {
|
||||
void setBandwidth(float bandWidth);
|
||||
float getBandwidth();
|
||||
|
||||
void setVFOOffset(float offset);
|
||||
float getVFOOfset();
|
||||
|
||||
void setVFOBandwidth(float bandwidth);
|
||||
float getVFOBandwidth();
|
||||
|
||||
void setVFOReference(int ref);
|
||||
|
||||
void setViewBandwidth(float bandWidth);
|
||||
float getViewBandwidth();
|
||||
|
||||
@@ -63,6 +90,9 @@ namespace ImGui {
|
||||
bool bandplanEnabled = false;
|
||||
bandplan::BandPlan_t* bandplan = NULL;
|
||||
|
||||
std::map<std::string, WaterfallVFO*> vfos;
|
||||
std::string selectedVFO;
|
||||
|
||||
enum {
|
||||
REF_LOWER,
|
||||
REF_CENTER,
|
||||
@@ -74,12 +104,14 @@ namespace ImGui {
|
||||
private:
|
||||
void drawWaterfall();
|
||||
void drawFFT();
|
||||
void drawVFO();
|
||||
void drawVFOs();
|
||||
void drawBandPlan();
|
||||
void processInputs();
|
||||
void onPositionChange();
|
||||
void onResize();
|
||||
void updateWaterfallFb();
|
||||
void updateWaterfallTexture();
|
||||
void updateAllVFOs();
|
||||
|
||||
bool waterfallUpdate = false;
|
||||
|
||||
@@ -129,10 +161,6 @@ namespace ImGui {
|
||||
float centerFreq;
|
||||
float wholeBandwidth;
|
||||
|
||||
// VFO
|
||||
float vfoOffset;
|
||||
float vfoBandwidth;
|
||||
|
||||
// Ranges
|
||||
float fftMin;
|
||||
float fftMax;
|
||||
|
||||
Reference in New Issue
Block a user