add screensaver and optimize performance

Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
2025-06-19 23:21:43 +02:00
parent 3ac9565007
commit d3dd96c93a
20 changed files with 402 additions and 21 deletions

View File

@@ -0,0 +1,20 @@
#pragma once
#include <cstdint>
#include <functional>
class InactivityTracker
{
public:
InactivityTracker(uint64_t timeoutMs, std::function<void()> onTimeout);
void update(uint64_t dt);
void reset();
void setEnabled(bool enabled);
private:
uint64_t m_timeoutMs;
uint64_t m_elapsedTime;
bool m_enabled;
std::function<void()> m_onTimeout;
};

View File

@@ -72,6 +72,8 @@ class Menu : public Widget
*/
void addText(uint8_t id, const std::string &text);
void addTextCounter(uint8_t id, const std::string &text, const uint8_t value);
/**
* @brief Adds a selection menu item (dropdown/list selection) to the menu
* @param id Unique identifier for this menu item (must be unique within the menu)