diff --git a/src/sdl2/main.c b/src/sdl2/main.c
index dd5b8d43b2d16947a79291f66e1dc57d9fa9c38f..81ecaa173cb0574bae6f6808724a8f2e322db8d2 100644 (file)
--- a/src/sdl2/main.c
+++ b/src/sdl2/main.c
assert(h > 0);
assert(window != NULL);
if (surf != NULL) {
- SDL_Surface *s = SDL_CreateRGBSurface(0, w, h, 8, 0, 0, 0, 0);
- if (s != NULL) {
- SDL_SetPaletteColors(s->format->palette, surf->format->palette->colors, 0, surf->format->palette->ncolors);
- SDL_FreeSurface(surf);
- surf = s;
+ if (surf->w != w || surf->h != h) {
+ SDL_Surface *s = SDL_CreateRGBSurface(0, w, h, 8, 0, 0, 0, 0);
+ if (s != NULL) {
+ SDL_SetPaletteColors(s->format->palette, surf->format->palette->colors, 0, surf->format->palette->ncolors);
+ SDL_FreeSurface(surf);
+ surf = s;
+ }
}
}
SDL_SetWindowSize(window, w, h);
}
}
+void Y_get_videomode (int *w, int *h) {
+ if (window != NULL) {
+ SDL_GetWindowSize(window, w, h);
+ } else {
+ *w = 0;
+ *h = 0;
+ }
+}
+
int Y_videomode_setted (void) {
return window != NULL;
}
}
}
-int Y_set_fullscreen (int yes) {
+void Y_set_fullscreen (int yes) {
if (window != NULL) {
SDL_SetWindowFullscreen(window, yes ? SDL_WINDOW_FULLSCREEN : 0);
}
- return yes;
}
int Y_get_fullscreen (void) {