/* * author: Patrick-Christopher Mattulat * e-mail: webmaster@lynarstudios.com */ #ifndef LS_ATLANTIS_ENGINE_WINDOW_SDL_WINDOW_API_HPP #define LS_ATLANTIS_ENGINE_WINDOW_SDL_WINDOW_API_HPP #include #include #include #include #include namespace ls::atlantis::window { class LS_ATLANTIS_DYNAMIC_GOAL SdlWindowApi : public ls::atlantis::interfaces::IWindowApi { public: SdlWindowApi(); explicit SdlWindowApi(const ::std::shared_ptr &_sdlApi); ~SdlWindowApi() override; [[nodiscard]] ::std::shared_ptr init() override; private: static ::std::shared_ptr _createWindow(); ::std::shared_ptr _initApi(); ::std::shared_ptr sdlApi{}; }; } #endif