#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