static SDL_Texture *sdl_texture = NULL;
#endif
static boolean fullscreen_enabled = FALSE;
-
-#define USE_RENDERER TRUE
#endif
/* stuff needed to work around SDL/Windows fullscreen drawing bug */
#endif
#if defined(TARGET_SDL2)
-#if USE_RENDERER
if (rect)
{
int bytes_x = screen->pitch / video.width;
// show render target buffer on screen
SDL_RenderPresent(sdl_renderer);
-#else
-
- if (rect)
- SDL_UpdateWindowSurfaceRects(sdl_window, rect, 1);
- else
- SDL_UpdateWindowSurface(sdl_window);
-#endif
-
#else // TARGET_SDL
if (rect)
SDL_UpdateRects(screen, 1, rect);
video.fullscreen_available = hardware_fullscreen_available;
-#if USE_DESKTOP_FULLSCREEN
+#if defined(TARGET_SDL2)
// in SDL 2.0, there is always support for desktop fullscreen mode
// (in SDL 1.2, there is only support for "real" fullscreen mode)
video.fullscreen_available = TRUE;
#if defined(TARGET_SDL2)
int surface_flags_window = SURFACE_FLAGS | SDL_WINDOW_RESIZABLE;
-#if USE_DESKTOP_FULLSCREEN
int surface_flags_fullscreen = SURFACE_FLAGS | SDL_WINDOW_FULLSCREEN_DESKTOP;
-#else
- int surface_flags_fullscreen = SURFACE_FLAGS | SDL_WINDOW_FULLSCREEN;
-#endif
-
#else
int surface_flags_window = SURFACE_FLAGS;
int surface_flags_fullscreen = SURFACE_FLAGS | SDL_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;
-#if !USE_DESKTOP_FULLSCREEN
- float screen_scaling_factor = (fullscreen ? 1 : window_scaling_factor);
-#endif
video.window_width = window_scaling_factor * width;
video.window_height = window_scaling_factor * height;
sdl_window = SDL_CreateWindow(program.window_title,
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
-#if USE_DESKTOP_FULLSCREEN
video.window_width,
video.window_height,
-#else
- (int)(screen_scaling_factor * width),
- (int)(screen_scaling_factor * height),
-#endif
surface_flags);
if (sdl_window != NULL)
Error(ERR_WARN, "SDL_CreateWindow() failed: %s", SDL_GetError());
}
-#else
-
- if (sdl_window)
- SDL_DestroyWindow(sdl_window);
-
- sdl_window = SDL_CreateWindow(program.window_title,
- SDL_WINDOWPOS_CENTERED,
- SDL_WINDOWPOS_CENTERED,
- width, height,
- surface_flags);
-
- if (sdl_window != NULL)
- new_surface = SDL_GetWindowSurface(sdl_window);
-#endif
-
#else
new_surface = SDL_SetVideoMode(width, height, video.depth, surface_flags);
#endif
if (sdl_window == NULL)
return;
-#if USE_DESKTOP_FULLSCREEN
int flags = (fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0);
-#else
- int flags = (fullscreen ? SDL_WINDOW_FULLSCREEN : 0);
-#endif
if (SDL_SetWindowFullscreen(sdl_window, flags) == 0)
video.fullscreen_enabled = fullscreen_enabled = fullscreen;
int dst_x, int dst_y, int mask_mode)
{
#if defined(TARGET_SDL2)
-#if USE_RENDERER
SDL_Texture *texture;
SDL_Rect src_rect;
SDL_Rect dst_rect;
SDL_RenderCopy(sdl_renderer, texture, &src_rect, &dst_rect);
#endif
-#endif
}
void SDLFillRectangle(Bitmap *dst_bitmap, int x, int y, int width, int height,