Mercurial > mplayer.hg
changeset 5987:08c552788216
fullscreen toggle for vo_mga
author | rfelker |
---|---|
date | Sun, 05 May 2002 18:58:42 +0000 |
parents | d34622ebaf45 |
children | de86623c35ef |
files | libvo/mga_common.c libvo/vo_mga.c |
diffstat | 2 files changed, 35 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/mga_common.c Sun May 05 18:46:42 2002 +0000 +++ b/libvo/mga_common.c Sun May 05 18:58:42 2002 +0000 @@ -233,6 +233,32 @@ vaa->get_video_eq = mga_get_video_eq; vaa->set_video_eq = mga_set_video_eq; } + +static void mga_fullscreen() +{ + uint32_t w,h; + if ( !vo_fs ) { + vo_fs=VO_TRUE; + w=vo_screenwidth; h=vo_screenheight; + aspect(&w,&h,A_ZOOM); + } else { + vo_fs=VO_FALSE; + w=vo_dwidth; h=vo_dheight; + aspect(&w,&h,A_NOZOOM); + } + mga_vid_config.dest_width = w; + mga_vid_config.dest_height= h; + if (vo_screenwidth && vo_screenheight) { + mga_vid_config.x_org=(vo_screenwidth-w)/2; + mga_vid_config.y_org=(vo_screenheight-h)/2; + } else { + mga_vid_config.x_org= 0; + mga_vid_config.y_org= 0; + } + if ( ioctl( f,MGA_VID_CONFIG,&mga_vid_config ) ) + printf( "Error in mga_vid_config ioctl (wrong mga_vid.o version?)" ); +} + static uint32_t control(uint32_t request, void *data, ...) { switch (request) { @@ -243,11 +269,13 @@ return query_format(*((uint32_t*)data)); case VOCTRL_GET_IMAGE: return get_image(data); + case VOCTRL_FULLSCREEN: #ifdef VO_XMGA - case VOCTRL_FULLSCREEN: vo_x11_fullscreen(); +#else + mga_fullscreen(); +#endif return VO_TRUE; -#endif } return VO_NOTIMPL; }
--- a/libvo/vo_mga.c Sun May 05 18:46:42 2002 +0000 +++ b/libvo/vo_mga.c Sun May 05 18:58:42 2002 +0000 @@ -84,10 +84,13 @@ aspect_save_prescale(d_width,d_height); aspect_save_screenres(vo_screenwidth,vo_screenheight); - if(fullscreen&0x01) /* -fs */ + if(fullscreen&0x01) { /* -fs */ aspect(&d_width,&d_height,A_ZOOM); - else + vo_fs = VO_TRUE; + } else { aspect(&d_width,&d_height,A_NOZOOM); + vo_fs = VO_FALSE; + } printf("vo_mga aspect(): resized to %dx%d\n",d_width,d_height); }