48 enum class VSyncMode :
int
56 enum class FullscreenMode :
int
59 FULLSCREEN = SDL_WINDOW_FULLSCREEN,
60 FULLSCREEN_WINDOW = SDL_WINDOW_FULLSCREEN_DESKTOP,
72 FullscreenMode Fullscreen;
73 glm::ivec2 Resolution;
79 : Application {
"App" }
80 , Video { FullscreenMode::WINDOWED, glm::ivec2(1280, 720), VSyncMode::DISABLED,
false }
93 void Close() { Open =
false; }
94 [[nodiscard]]
bool IsOpen()
const {
return Open; }
96 SDL_Window* GetHandle() {
return Handle; }
97 [[nodiscard]]
const SDL_Window* GetHandle()
const {
return Handle; }
99 SDL_GLContext GetContext() {
return Context; }
100 [[nodiscard]]
const SDL_GLContext GetContext()
const {
return Context; }
102 [[nodiscard]] glm::ivec2 Size()
const {
return Config.Video.Resolution; }
104 Configuration Config;
106 SDL_GLContext Context;