/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* SDLManager.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/25 15:28:59 by maldavid #+# #+# */ /* Updated: 2024/07/05 22:15:22 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef __MLX_SDL_MANAGER__ #define __MLX_SDL_MANAGER__ #include namespace mlx { class SDLManager : public Singleton { friend class Singleton; public: void Init() noexcept; void Shutdown() noexcept; void* CreateWindow(const std::string& title, std::size_t w, std::size_t h); void DestroyWindow(void* window) noexcept; void SetEventCallback(); private: SDLManager() = default; ~SDLManager() = default; private: std::unordered_set m_windows_registry; bool m_drop_sdl_responsability = false; }; } #endif