| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*
- * author: Patrick-Christopher Mattulat
- * e-mail: webmaster@lynarstudios.com
- */
- #include <SDL3/SDL.h>
- #include <core/StatusCodeOk.hpp>
- #include <core/StatusCodeWindowApiLoadingFailed.hpp>
- #include <window/SdlApi.hpp>
- #include <window/SdlWindowApi.hpp>
- using ls::atlantis::core::StatusCodeOk;
- using ls::atlantis::core::StatusCodeWindowApiLoadingFailed;
- using ls::atlantis::interfaces::AStatusCode;
- using ls::atlantis::interfaces::ISdlApi;
- using ls::atlantis::window::SdlApi;
- using ls::atlantis::window::SdlWindowApi;
- using ::std::make_shared;
- using ::std::shared_ptr;
- SdlWindowApi::SdlWindowApi() : SdlWindowApi(make_shared<SdlApi>())
- {
- // TODO: null check
- }
- SdlWindowApi::SdlWindowApi(const shared_ptr<ISdlApi> &_sdlApi) : sdlApi(_sdlApi)
- {
- // TODO: null check
- }
- SdlWindowApi::~SdlWindowApi()
- {
- sdlApi->Quit();
- }
- shared_ptr<AStatusCode> SdlWindowApi::init()
- {
- return SdlWindowApi::_initApi();
- }
- shared_ptr<AStatusCode> SdlWindowApi::_createWindow()
- {
- return make_shared<StatusCodeOk>();
- }
- shared_ptr<AStatusCode> SdlWindowApi::_initApi()
- {
- shared_ptr<AStatusCode> statusCode = make_shared<StatusCodeOk>();
- if (!sdlApi->Init(SDL_INIT_VIDEO))
- {
- statusCode = make_shared<StatusCodeWindowApiLoadingFailed>();
- }
- return statusCode;
- }
|