static SDL_Window *sdl_window = NULL;
static SDL_Renderer *sdl_renderer = NULL;
static SDL_Texture *sdl_texture = NULL;
+static boolean fullscreen_enabled = FALSE;
#define USE_RENDERER TRUE
#endif
LimitScreenUpdates(FALSE);
+#if 0
+ {
+ static int LastFrameCounter = 0;
+ boolean changed = (FrameCounter != LastFrameCounter);
+
+ printf("::: FrameCounter == %d [%s]\n", FrameCounter,
+ (changed ? "-" : "SAME FRAME UPDATED"));
+
+ LastFrameCounter = FrameCounter;
+
+ /*
+ if (FrameCounter % 2)
+ return;
+ */
+ }
+#endif
+
#if defined(TARGET_SDL2)
#if USE_RENDERER
SDL_Surface *screen = backbuffer->surface;
SDL_Surface *new_surface = NULL;
#if defined(TARGET_SDL2)
- static boolean fullscreen_enabled = FALSE;
int surface_flags_window = SURFACE_FLAGS | SDL_WINDOW_RESIZABLE;
#if USE_DESKTOP_FULLSCREEN
int surface_flags_fullscreen = SURFACE_FLAGS | SDL_WINDOW_FULLSCREEN_DESKTOP;
#if defined(TARGET_SDL2)
- // store if initial screen mode on game start is fullscreen mode
- if (sdl_window == NULL)
- video.fullscreen_initial = fullscreen;
+ // store if initial screen mode is fullscreen mode when changing screen size
+ video.fullscreen_initial = fullscreen;
#if USE_RENDERER
float window_scaling_factor = (float)setup.window_scaling_percent / 100;
#endif
if (SDL_SetWindowFullscreen(sdl_window, flags) == 0)
- video.fullscreen_enabled = fullscreen;
+ video.fullscreen_enabled = fullscreen_enabled = fullscreen;
- // if game started in fullscreen mode, window will also get fullscreen size
+ // if screen size was changed in fullscreen mode, correct desktop window size
if (!fullscreen && video.fullscreen_initial)
{
SDLSetWindowScaling(setup.window_scaling_percent);
if (draw_border_function != NULL)
draw_border_function();
-#if defined(TARGET_SDL2)
- // SDL_UpdateWindowSurface(sdl_window);
- // SDL_UpdateWindowSurfaceRects(sdl_window, &dst_rect2, 1);
UpdateScreen(&dst_rect2);
-#else
- // SDL_UpdateRect(surface_screen, dst_x, dst_y, width, height);
- UpdateScreen(&dst_rect2);
-#endif
}
}
}