diff options
author | wm4 <wm4@mplayer2.org> | 2011-09-29 22:38:16 +0200 |
---|---|---|
committer | Uoti Urpala <uau@mplayer2.org> | 2011-10-24 06:18:29 +0300 |
commit | f045abb4c06c66dd7ee751d4f4c0de40cf1bc810 (patch) | |
tree | 80c7d102c9ae42fd5535874c391c58a7e6ab1f03 /libvo/sdl_common.c | |
parent | bb8781a00a590412926f240fd0731a25127eb046 (diff) | |
download | mpv-f045abb4c06c66dd7ee751d4f4c0de40cf1bc810.tar.bz2 mpv-f045abb4c06c66dd7ee751d4f4c0de40cf1bc810.tar.xz |
vo_gl/sdl: use desktop resolution for fullscreen mode
Before the SDL code would change screen resolution when switching to
fullscreen. Try to keep existing desktop resolution instead.
Diffstat (limited to 'libvo/sdl_common.c')
-rw-r--r-- | libvo/sdl_common.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libvo/sdl_common.c b/libvo/sdl_common.c index 32c95ef4c8..5d493afd71 100644 --- a/libvo/sdl_common.c +++ b/libvo/sdl_common.c @@ -25,11 +25,13 @@ #include "input/keycodes.h" #include "input/input.h" #include "video_out.h" +#include "aspect.h" static int old_w; static int old_h; static int mode_flags; static int reinit; +static int screen_w, screen_h; int vo_sdl_init(void) { @@ -39,6 +41,12 @@ int vo_sdl_init(void) SDL_Init(SDL_INIT_VIDEO|SDL_INIT_NOPARACHUTE) < 0) return 0; + if (screen_w == 0) { + const SDL_VideoInfo *vi = SDL_GetVideoInfo(); + screen_w = vi->current_w; + screen_h = vi->current_h; + } + // Setup Keyrepeats (500/30 are defaults) SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, 100 /*SDL_DEFAULT_REPEAT_INTERVAL*/); @@ -59,6 +67,15 @@ void vo_sdl_uninit(void) SDL_QuitSubSystem(SDL_INIT_VIDEO); } +void sdl_update_xinerama_info(void) +{ + if (vo_screenwidth <= 0 || vo_screenheight <= 0) { + vo_screenwidth = screen_w; + vo_screenheight = screen_h; + } + aspect_save_screenres(vo_screenwidth, vo_screenheight); +} + void vo_sdl_fullscreen(void) { if (vo_fs) { |