46 lines
791 B
C++
46 lines
791 B
C++
#ifndef __screen_menu
|
|
#define __screen_menu
|
|
|
|
#include "include/screenids.h"
|
|
#include "../screen.h"
|
|
#include "../Control.h"
|
|
|
|
|
|
enum class MenuItem
|
|
{
|
|
Manual = 0,
|
|
Presets,
|
|
Calibrate,
|
|
Exit,
|
|
|
|
__Count
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
* Menu screen
|
|
* Shows the menu which allows access to the calibration and
|
|
* manual adjustment screens.
|
|
*/
|
|
class MenuScreen : public BaseScreen
|
|
{
|
|
public:
|
|
MenuScreen(ScreenManager* screenManager, Adafruit_GFX* display) : BaseScreen(screenManager, display) { }
|
|
|
|
void onShow();
|
|
void onButton(Button button);
|
|
void onTick();
|
|
|
|
ScreenId screenId() { return ScreenId::Menu; };
|
|
|
|
private:
|
|
void drawMenuItem(uint8_t index);
|
|
const char* getMenuItemTitle(MenuItem item);
|
|
void activateMenuItem(MenuItem item);
|
|
|
|
uint8_t itemIndex = 0;
|
|
};
|
|
|
|
#endif
|