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/vo_xvidix.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/vo_xvidix.c')
-rw-r--r-- | libvo/vo_xvidix.c | 17 |
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; } |