summaryrefslogtreecommitdiffstats
path: root/libvo/vo_xvidix.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/vo_xvidix.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/vo_xvidix.c')
-rw-r--r--libvo/vo_xvidix.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/libvo/vo_xvidix.c b/libvo/vo_xvidix.c
index af6ab734d9..affb66a5d3 100644
--- a/libvo/vo_xvidix.c
+++ b/libvo/vo_xvidix.c
@@ -74,7 +74,7 @@ static uint32_t window_width, window_height;
static uint32_t drwX, drwY, drwWidth, drwHeight, drwBorderWidth,
drwDepth, drwcX, drwcY, dwidth, dheight;
-static void set_window(int force_update,const vo_tune_info_t *info, int ps)
+static void set_window(int force_update,const vo_tune_info_t *info)
{
Window mRoot;
if ( WinID )
@@ -137,7 +137,7 @@ static void set_window(int force_update,const vo_tune_info_t *info, int ps)
}
#endif
- if ( ps )
+ if ( vo_panscan > 0.0f && vo_fs )
{
drwcX-=vo_panscan_x >> 1;
drwcY-=vo_panscan_y >> 1;
@@ -363,12 +363,14 @@ else
vidix_grkey_set(&gr_key);
}
- set_window(1,info,0);
+ set_window(1,info);
if(info) memcpy(&vtune,info,sizeof(vo_tune_info_t));
else memset(&vtune,0,sizeof(vo_tune_info_t));
XFlush(mDisplay);
XSync(mDisplay, False);
+ panscan_calc();
+
saver_off(mDisplay); /* turning off screen saver */
vo_config_count++;
@@ -386,7 +388,7 @@ static void check_events(void)
const int event = vo_x11_check_events(mDisplay);
if ((event & VO_EVENT_RESIZE) || (event & VO_EVENT_EXPOSE))
- set_window(0,&vtune,0);
+ set_window(0,&vtune);
return;
}
@@ -463,17 +465,16 @@ static uint32_t control(uint32_t request, void *data, ...)
return query_format(*((uint32_t*)data));
case VOCTRL_GUISUPPORT:
return VO_TRUE;
- case VOCTRL_FULLSCREEN:
- vo_x11_fullscreen();
- return VO_TRUE;
case VOCTRL_GET_PANSCAN:
if ( !vo_config_count || !vo_fs ) return VO_FALSE;
return VO_TRUE;
+ case VOCTRL_FULLSCREEN:
+ vo_x11_fullscreen();
case VOCTRL_SET_PANSCAN:
if ( vo_fs && ( vo_panscan != vo_panscan_amount ) )
{
panscan_calc();
- set_window( 0,&vtune,1 );
+ set_window( 0,&vtune );
}
return VO_TRUE;
}