#pragma once #include "Arduino.h" #include #include "display_types.h" #include "display_draw.h" #include "display_buttons.h" #include "measure_mode.h" #define MINSCREENSWITCHDELAY 1000 void setDisplayState(e_displayState newstate); e_displayState getDisplayState(void); class screen_c { std::vector _items; const e_displayState _thisScreen; const uint8_t _buttonCount; bool _initialized = false; public: screen_c(e_displayState thisScreen, uint8_t buttonCount):_thisScreen(thisScreen), _buttonCount(buttonCount) {} void addItem(c_onScreenButton* pButton) { _items.push_back(pButton); } void begin(void); void handle(void); void draw(void); void activateModeButton(bool clear); };