#pragma once #include #include #include namespace pp::platform::windows { class SplashScreen final { public: explicit SplashScreen(HINSTANCE hInst); ~SplashScreen(); SplashScreen(const SplashScreen&) = delete; SplashScreen& operator=(const SplashScreen&) = delete; SplashScreen(SplashScreen&&) = delete; SplashScreen& operator=(SplashScreen&&) = delete; void dismiss(); private: void thread_main(); HINSTANCE hInst_{}; std::atomic dialog_{}; std::jthread thread_; }; }