#pragma once #include #include #include namespace rex { namespace ui { class SDLWindowedAppContext final : public WindowedAppContext { public: SDLWindowedAppContext() = default; ~SDLWindowedAppContext() override = default; void NotifyUILoopOfPendingFunctions() override; void PlatformQuitFromUIThread() override; int RunMainLoop(); private: void DispatchEvent(const SDL_Event& event); std::atomic_bool pending_functions_event_queued_ = false; }; } // namespace ui } // namespace rex