mirror of
https://github.com/mpv-player/mpv
synced 2025-04-01 23:00:41 +00:00
fullscreen toggle for vo_mga
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5988 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
8c9b41e72a
commit
c1a516894c
@ -233,6 +233,32 @@ static void query_vaa(vo_vaa_t *vaa)
|
|||||||
vaa->get_video_eq = mga_get_video_eq;
|
vaa->get_video_eq = mga_get_video_eq;
|
||||||
vaa->set_video_eq = mga_set_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, ...)
|
static uint32_t control(uint32_t request, void *data, ...)
|
||||||
{
|
{
|
||||||
switch (request) {
|
switch (request) {
|
||||||
@ -243,11 +269,13 @@ static uint32_t control(uint32_t request, void *data, ...)
|
|||||||
return query_format(*((uint32_t*)data));
|
return query_format(*((uint32_t*)data));
|
||||||
case VOCTRL_GET_IMAGE:
|
case VOCTRL_GET_IMAGE:
|
||||||
return get_image(data);
|
return get_image(data);
|
||||||
#ifdef VO_XMGA
|
|
||||||
case VOCTRL_FULLSCREEN:
|
case VOCTRL_FULLSCREEN:
|
||||||
|
#ifdef VO_XMGA
|
||||||
vo_x11_fullscreen();
|
vo_x11_fullscreen();
|
||||||
return VO_TRUE;
|
#else
|
||||||
|
mga_fullscreen();
|
||||||
#endif
|
#endif
|
||||||
|
return VO_TRUE;
|
||||||
}
|
}
|
||||||
return VO_NOTIMPL;
|
return VO_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
@ -84,10 +84,13 @@ config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uin
|
|||||||
aspect_save_prescale(d_width,d_height);
|
aspect_save_prescale(d_width,d_height);
|
||||||
aspect_save_screenres(vo_screenwidth,vo_screenheight);
|
aspect_save_screenres(vo_screenwidth,vo_screenheight);
|
||||||
|
|
||||||
if(fullscreen&0x01) /* -fs */
|
if(fullscreen&0x01) { /* -fs */
|
||||||
aspect(&d_width,&d_height,A_ZOOM);
|
aspect(&d_width,&d_height,A_ZOOM);
|
||||||
else
|
vo_fs = VO_TRUE;
|
||||||
|
} else {
|
||||||
aspect(&d_width,&d_height,A_NOZOOM);
|
aspect(&d_width,&d_height,A_NOZOOM);
|
||||||
|
vo_fs = VO_FALSE;
|
||||||
|
}
|
||||||
printf("vo_mga aspect(): resized to %dx%d\n",d_width,d_height);
|
printf("vo_mga aspect(): resized to %dx%d\n",d_width,d_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user