#pragma once #include "../Activity.h" #include class Bitmap; class SleepActivity final : public Activity { public: explicit SleepActivity(GfxRenderer& renderer, MappedInputManager& mappedInput) : Activity("Sleep", renderer, mappedInput) {} void onEnter() override; private: void renderPopup(const char* message) const; void renderDefaultSleepScreen() const; void renderCustomSleepScreen() const; void renderCoverSleepScreen() const; void renderBitmapSleepScreen(const Bitmap& bitmap, const std::string& bmpPath) const; void renderBlankSleepScreen() const; // Perimeter detection caching helpers static std::string getPerimeterCachePath(const std::string& bmpPath); bool getPerimeterIsBlack(const Bitmap& bitmap, const std::string& bmpPath) const; };