| 123456789101112131415161718192021222324252627282930313233343536 |
- /*
- * 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 <Export.hpp>
- #include <interface/AStatusCode.hpp>
- #include <interface/ISdlApi.hpp>
- #include <interface/IWindowApi.hpp>
- #include <memory>
- namespace ls::atlantis::window
- {
- class LS_ATLANTIS_DYNAMIC_GOAL SdlWindowApi : public ls::atlantis::interfaces::IWindowApi
- {
- public:
- SdlWindowApi();
- explicit SdlWindowApi(const ::std::shared_ptr<ls::atlantis::interfaces::ISdlApi> &_sdlApi);
- ~SdlWindowApi() override;
- [[nodiscard]] ::std::shared_ptr<ls::atlantis::interfaces::AStatusCode> init() override;
- private:
- static ::std::shared_ptr<ls::atlantis::interfaces::AStatusCode> _createWindow();
- ::std::shared_ptr<ls::atlantis::interfaces::AStatusCode> _initApi();
- ::std::shared_ptr<ls::atlantis::interfaces::ISdlApi> sdlApi{};
- };
- }
- #endif
|