/* * author: Patrick-Christopher Mattulat * e-mail: webmaster@lynarstudios.com */ #include #include #include using ls::atlantis::factory::WindowApiFactory; using ls::atlantis::glossary::WindowApiTypes; using ls::atlantis::interfaces::IWindowApi; using ls::atlantis::window::SdlWindowApi; using ls::std::core::IllegalArgumentException; using ::std::make_shared; using ::std::shared_ptr; WindowApiFactory::WindowApiFactory() = default; WindowApiFactory::~WindowApiFactory() = default; shared_ptr WindowApiFactory::build(const WindowApiTypes &_windowApis) { shared_ptr windowApi{}; switch (_windowApis) { case WindowApiTypes::NONE_SELECTED: { throw IllegalArgumentException{}; } case WindowApiTypes::SDL_WINDOW_API: { windowApi = make_shared(); } break; } return windowApi; }