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
|
|
|
|
2021-07-21 02:08:28 +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);
|
2021-04-23 19:35:54 +00:00
|
|
|
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];
|
|
|
|
};
|