#pragma once #ifdef ESP_PLATFORM #include "Screensaver.h" #include namespace tt::service::displayidle { /** * MCP Screen screensaver. * Creates a full-screen LVGL canvas on the overlay and registers it in * McpSystemState so that MCP HTTP draw commands can paint to it. * Dismissed by a touch event (handled by the parent DisplayIdle overlay). */ class McpScreensaver final : public Screensaver { uint16_t* framebuffer = nullptr; size_t framebufferSize = 0; public: McpScreensaver() = default; ~McpScreensaver() override = default; void start(lv_obj_t* overlay, lv_coord_t screenW, lv_coord_t screenH) override; void stop() override; void update(lv_coord_t screenW, lv_coord_t screenH) override; }; } // namespace tt::service::displayidle #endif // ESP_PLATFORM