sdl: Support setting resizable before allocate in SDL 1
The SDL 1 winsys now checks for the initial resizable state of the onscreen framebuffer when it is allocated and updates the video flags accordingly. Reviewed-by: Robert Bragg <robert@linux.intel.com> (cherry picked from commit f5fb9be70a92f751886a94da0b34e14252ed197e)
This commit is contained in:
parent
982ee75319
commit
05ebbfdae7
@ -287,6 +287,7 @@ _cogl_winsys_onscreen_init (CoglOnscreen *onscreen,
|
||||
CoglContext *context = framebuffer->context;
|
||||
CoglDisplay *display = context->display;
|
||||
CoglDisplaySdl *sdl_display = display->winsys;
|
||||
CoglBool flags_changed = FALSE;
|
||||
int width, height;
|
||||
|
||||
if (sdl_display->onscreen)
|
||||
@ -300,9 +301,16 @@ _cogl_winsys_onscreen_init (CoglOnscreen *onscreen,
|
||||
width = cogl_framebuffer_get_width (framebuffer);
|
||||
height = cogl_framebuffer_get_height (framebuffer);
|
||||
|
||||
if (cogl_onscreen_get_resizable (onscreen))
|
||||
{
|
||||
sdl_display->video_mode_flags |= SDL_RESIZABLE;
|
||||
flags_changed = TRUE;
|
||||
}
|
||||
|
||||
/* Try to update the video size using the onscreen size */
|
||||
if (width != sdl_display->surface->w ||
|
||||
height != sdl_display->surface->h)
|
||||
height != sdl_display->surface->h ||
|
||||
flags_changed)
|
||||
{
|
||||
sdl_display->surface = SDL_SetVideoMode (width, height,
|
||||
0, /* bitsperpixel */
|
||||
|
Loading…
Reference in New Issue
Block a user