/* * 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