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

40 wiersze
769 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();
2020-08-20 16:29:23 +00:00
void setFrequency(uint64_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
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 widgetEndPos;
ImVec2 widgetSize;
ImVec2 lastWidgetPos;
ImVec2 lastWidgetSize;
ImGuiWindow* window;
int digits[12];
ImVec2 digitBottomMins[12];
ImVec2 digitTopMins[12];
ImVec2 digitBottomMaxs[12];
ImVec2 digitTopMaxs[12];
char buf[100];
};