summaryrefslogtreecommitdiffstats
path: root/libvo/sdl_common.c
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2011-09-29 22:38:16 +0200
committerUoti Urpala <uau@mplayer2.org>2011-10-24 06:18:29 +0300
commitf045abb4c06c66dd7ee751d4f4c0de40cf1bc810 (patch)
tree80c7d102c9ae42fd5535874c391c58a7e6ab1f03 /libvo/sdl_common.c
parentbb8781a00a590412926f240fd0731a25127eb046 (diff)
downloadmpv-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.c17
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) {