src/window.c

changeset 253
6ab35fcb8676
parent 237
2ea35c5f4760
--- a/src/window.c	Tue Aug 05 16:53:25 2025 +0200
+++ b/src/window.c	Tue Aug 05 20:00:24 2025 +0200
@@ -29,8 +29,10 @@
 #include "ascension/window.h"
 #include "ascension/context.h"
 
+#include <GL/glew.h>
+
 #include <assert.h>
-#include <GL/glew.h>
+#include <stdio.h>
 
 void asc_window_settings_init_defaults(AscWindowSettings *settings) {
     settings->dimensions.width = 800u;
@@ -54,15 +56,13 @@
         return;
     }
 
-    Uint32 flags = SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN;
-    flags |= settings->fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : SDL_WINDOW_RESIZABLE;
+    SDL_WindowFlags flags = SDL_WINDOW_OPENGL;
+    flags |= settings->fullscreen ? SDL_WINDOW_FULLSCREEN : SDL_WINDOW_RESIZABLE;
 
     window->window = SDL_CreateWindow(
             settings->title,
-            SDL_WINDOWPOS_CENTERED,
-            SDL_WINDOWPOS_CENTERED,
-            settings->dimensions.width,
-            settings->dimensions.height,
+            (int) settings->dimensions.width,
+            (int) settings->dimensions.height,
             flags
     );
     if (window->window == NULL) {
@@ -203,13 +203,13 @@
 
 asc_vec2u asc_window_display_resolution(void) {
     const AscWindow *window = asc_active_window;
-    SDL_DisplayMode dm;
-    const int display = SDL_GetWindowDisplayIndex(window->window);
-    if (SDL_GetDesktopDisplayMode(display, &dm)) {
+    SDL_DisplayID display = SDL_GetDisplayForWindow(window->window);
+    const SDL_DisplayMode *dm = SDL_GetDesktopDisplayMode(display);
+    if (dm == NULL) {
         asc_error("Failed to get display mode for window %u on display %d: %s",
             window->id, display, SDL_GetError());
     }
-    return ASC_VEC2U(dm.w, dm.h);
+    return ASC_VEC2U(dm->w, dm->h);
 }
 
 float asc_window_ui_scale(unsigned int index) {

mercurial