56 enum class VSyncMode :
int
64 enum class FullscreenMode :
int
67 FULLSCREEN = SDL_WINDOW_FULLSCREEN,
68 FULLSCREEN_WINDOW = SDL_WINDOW_FULLSCREEN_DESKTOP,
80 FullscreenMode Fullscreen;
81 glm::ivec2 Resolution;
84 ocu::optional<int> Multisamples;
88 : Application {
"App" }
89 , Video { FullscreenMode::WINDOWED, glm::ivec2(1280, 720), VSyncMode::DISABLED,
false }
102 void Close() { Open_ =
false; }
103 [[nodiscard]]
bool IsOpen()
const {
return Open_; }
105 SDL_Window* GetHandle() {
return Handle_; }
106 [[nodiscard]]
const SDL_Window* GetHandle()
const {
return Handle_; }
108 SDL_GLContext GetContext() {
return Context_; }
109 [[nodiscard]]
const SDL_GLContext GetContext()
const {
return Context_; }
111 [[nodiscard]] glm::ivec2 Size()
const {
return Config_.Video.Resolution; }
113 Configuration Config_;
115 SDL_GLContext Context_;