diff options
author | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-10 18:40:19 +0000 |
---|---|---|
committer | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-06-10 18:40:19 +0000 |
commit | a3ef885bed7889c1b9cd8943dfeca9118199de71 (patch) | |
tree | fd7447abeda913088a78ae1bd22f207627c881fc /libvo/mga_common.c | |
parent | e6f7a4fc4a45e7688e3182ba27d70a8470d8bc34 (diff) | |
download | mpv-a3ef885bed7889c1b9cd8943dfeca9118199de71.tar.bz2 mpv-a3ef885bed7889c1b9cd8943dfeca9118199de71.tar.xz |
fix panscan support and add Jesper Svennevid's <mplayer@svennevid.net> patch
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6383 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/mga_common.c')
-rw-r--r-- | libvo/mga_common.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/libvo/mga_common.c b/libvo/mga_common.c index 16ddc390aa..7f656bd769 100644 --- a/libvo/mga_common.c +++ b/libvo/mga_common.c @@ -5,7 +5,7 @@ // mga_vid drawing functions #ifdef VO_XMGA -static void set_window( int ps ); /* forward declaration to kill warnings */ +static void set_window( void ); /* forward declaration to kill warnings */ #endif static int mga_next_frame=0; @@ -272,26 +272,33 @@ static uint32_t control(uint32_t request, void *data, ...) return query_format(*((uint32_t*)data)); case VOCTRL_GET_IMAGE: return get_image(data); + +#ifndef VO_XMGA case VOCTRL_FULLSCREEN: -#ifdef VO_XMGA - vo_x11_fullscreen(); -#else mga_fullscreen(); -#endif return VO_TRUE; +#endif + #if defined( VO_XMGA ) && defined( HAVE_NEW_GUI ) case VOCTRL_GUISUPPORT: return VO_TRUE; #endif + #ifdef VO_XMGA case VOCTRL_GET_PANSCAN: if ( !inited || !vo_fs ) return VO_FALSE; return VO_TRUE; + case VOCTRL_FULLSCREEN: + vo_x11_fullscreen(); + vo_panscan_amount=0; + /* indended, fallthrough to update panscan on fullscreen/windowed switch */ case VOCTRL_SET_PANSCAN: - if ( vo_fs && ( vo_panscan != vo_panscan_amount ) ) + if ( vo_fs && ( vo_panscan != vo_panscan_amount ) ) // || ( !vo_fs && vo_panscan_amount ) ) { + int old_y = vo_panscan_y; panscan_calc(); - set_window( 1 ); +// if ( old_y != vo_panscan_y ) + set_window(); } return VO_TRUE; #endif |