summaryrefslogtreecommitdiffstats
path: root/libvo/mga_common.c
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-10 18:40:19 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-06-10 18:40:19 +0000
commita3ef885bed7889c1b9cd8943dfeca9118199de71 (patch)
treefd7447abeda913088a78ae1bd22f207627c881fc /libvo/mga_common.c
parente6f7a4fc4a45e7688e3182ba27d70a8470d8bc34 (diff)
downloadmpv-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.c21
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