SDRPlusPlus/core/src/gui/widgets/frequency_select.h

38 wiersze
731 B
C
Czysty Zwykły widok Historia

2020-07-19 13:59:44 +00:00
#pragma once
#include <imgui.h>
#include <imgui_internal.h>
2020-08-20 16:29:23 +00:00
#include <stdint.h>
2020-07-19 13:59:44 +00:00
class FrequencySelect {
public:
FrequencySelect();
void init();
void draw();
2021-07-29 18:22:16 +00:00
void setFrequency(int64_t freq);
2020-07-19 13:59:44 +00:00
2020-08-20 16:29:23 +00:00
uint64_t frequency;
2020-07-19 13:59:44 +00:00
bool frequencyChanged = false;
2021-04-23 17:12:24 +00:00
bool digitHovered = false;
2020-07-19 13:59:44 +00:00
bool limitFreq;
uint64_t minFreq;
uint64_t maxFreq;
2020-07-19 13:59:44 +00:00
private:
void onPosChange();
void onResize();
void incrementDigit(int i);
void decrementDigit(int i);
void moveCursorToDigit(int i);
2020-07-19 13:59:44 +00:00
ImVec2 widgetPos;
ImVec2 lastWidgetPos;
int digits[12];
ImVec2 digitBottomMins[12];
ImVec2 digitTopMins[12];
ImVec2 digitBottomMaxs[12];
ImVec2 digitTopMaxs[12];
char buf[100];
};