Commit 31fd358e authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

vout: pass only a boolean to VOUT_DISPLAY_CHANGE_FULLSCREEN control

parent 83ea9ab5
...@@ -143,7 +143,7 @@ enum { ...@@ -143,7 +143,7 @@ enum {
/* Ask the module to acknowledge/refuse the fullscreen state change after /* Ask the module to acknowledge/refuse the fullscreen state change after
* being requested (externally or by VOUT_DISPLAY_EVENT_FULLSCREEN */ * being requested (externally or by VOUT_DISPLAY_EVENT_FULLSCREEN */
VOUT_DISPLAY_CHANGE_FULLSCREEN, /* const vout_display_cfg_t *p_cfg */ VOUT_DISPLAY_CHANGE_FULLSCREEN, /* bool fs */
/* Ask the module to acknowledge/refuse the window management state change /* Ask the module to acknowledge/refuse the window management state change
* after being requested externally or by VOUT_DISPLAY_WINDOW_STATE */ * after being requested externally or by VOUT_DISPLAY_WINDOW_STATE */
......
...@@ -300,7 +300,6 @@ static int Control (vout_display_t *vd, int query, va_list ap) ...@@ -300,7 +300,6 @@ static int Control (vout_display_t *vd, int query, va_list ap)
case VOUT_DISPLAY_CHANGE_ZOOM: case VOUT_DISPLAY_CHANGE_ZOOM:
case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT: case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT:
case VOUT_DISPLAY_CHANGE_SOURCE_CROP: case VOUT_DISPLAY_CHANGE_SOURCE_CROP:
case VOUT_DISPLAY_CHANGE_FULLSCREEN:
{ {
const vout_display_cfg_t *cfg; const vout_display_cfg_t *cfg;
const video_format_t *source; const video_format_t *source;
...@@ -343,6 +342,7 @@ static int Control (vout_display_t *vd, int query, va_list ap) ...@@ -343,6 +342,7 @@ static int Control (vout_display_t *vd, int query, va_list ap)
assert (0); assert (0);
default: default:
msg_Err (vd, "Unhandled request %d", query); msg_Err (vd, "Unhandled request %d", query);
case VOUT_DISPLAY_CHANGE_FULLSCREEN:
return VLC_EGENERIC; return VLC_EGENERIC;
} }
......
...@@ -265,7 +265,6 @@ static int Control(vout_display_t *vd, int query, va_list ap) ...@@ -265,7 +265,6 @@ static int Control(vout_display_t *vd, int query, va_list ap)
case VOUT_DISPLAY_HIDE_MOUSE: case VOUT_DISPLAY_HIDE_MOUSE:
return VLC_EGENERIC; return VLC_EGENERIC;
case VOUT_DISPLAY_CHANGE_FULLSCREEN:
case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED: case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED:
case VOUT_DISPLAY_CHANGE_ZOOM: case VOUT_DISPLAY_CHANGE_ZOOM:
case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT: case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT:
...@@ -320,6 +319,7 @@ static int Control(vout_display_t *vd, int query, va_list ap) ...@@ -320,6 +319,7 @@ static int Control(vout_display_t *vd, int query, va_list ap)
assert (0); assert (0);
default: default:
msg_Err(vd, "Unknown request %d", query); msg_Err(vd, "Unknown request %d", query);
case VOUT_DISPLAY_CHANGE_FULLSCREEN:
return VLC_EGENERIC; return VLC_EGENERIC;
} }
} }
......
...@@ -442,10 +442,9 @@ static int Control( vout_display_t *vd, int query, va_list args ) ...@@ -442,10 +442,9 @@ static int Control( vout_display_t *vd, int query, va_list args )
case VOUT_DISPLAY_CHANGE_FULLSCREEN: case VOUT_DISPLAY_CHANGE_FULLSCREEN:
{ {
const vout_display_cfg_t *cfg = va_arg(args, const vout_display_cfg_t *); bool fs = va_arg(args, int);
WinPostMsg( sys->client, WM_VLC_FULLSCREEN_CHANGE, WinPostMsg( sys->client, WM_VLC_FULLSCREEN_CHANGE, MPFROMLONG(fs), 0 );
MPFROMLONG( cfg->is_fullscreen ), 0 );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
......
...@@ -607,9 +607,9 @@ int CommonControl(vout_display_t *vd, int query, va_list args) ...@@ -607,9 +607,9 @@ int CommonControl(vout_display_t *vd, int query, va_list args)
sys->is_on_top = is_on_top; sys->is_on_top = is_on_top;
return VLC_SUCCESS; return VLC_SUCCESS;
} }
case VOUT_DISPLAY_CHANGE_FULLSCREEN: { /* const vout_display_cfg_t *p_cfg */ case VOUT_DISPLAY_CHANGE_FULLSCREEN: {
const vout_display_cfg_t *cfg = va_arg(args, const vout_display_cfg_t *); bool fs = va_arg(args, int);
if (CommonControlSetFullscreen(vd, cfg->is_fullscreen)) if (CommonControlSetFullscreen(vd, fs))
return VLC_EGENERIC; return VLC_EGENERIC;
UpdateRects(vd, NULL, NULL, false); UpdateRects(vd, NULL, NULL, false);
return VLC_SUCCESS; return VLC_SUCCESS;
......
...@@ -494,24 +494,17 @@ static int Control(vout_display_t *vd, int query, va_list args) ...@@ -494,24 +494,17 @@ static int Control(vout_display_t *vd, int query, va_list args)
return VLC_SUCCESS; return VLC_SUCCESS;
} }
case VOUT_DISPLAY_CHANGE_FULLSCREEN: { case VOUT_DISPLAY_CHANGE_FULLSCREEN: {
vout_display_cfg_t cfg = *va_arg(args, const vout_display_cfg_t *); bool fs = va_arg(args, int);
/* Fix flags */ /* Fix flags */
sys->display_flags &= ~(SDL_FULLSCREEN | SDL_RESIZABLE); sys->display_flags &= ~(SDL_FULLSCREEN | SDL_RESIZABLE);
sys->display_flags |= cfg.is_fullscreen ? SDL_FULLSCREEN : SDL_RESIZABLE; sys->display_flags |= fs ? SDL_FULLSCREEN : SDL_RESIZABLE;
if (cfg.is_fullscreen) { if (sys->overlay)
cfg.display.width = sys->desktop_width; sys->display = SDL_SetVideoMode(sys->desktop_width, sys->desktop_height,
cfg.display.height = sys->desktop_height;
}
if (sys->overlay) {
sys->display = SDL_SetVideoMode(cfg.display.width, cfg.display.height,
sys->display_bpp, sys->display_flags); sys->display_bpp, sys->display_flags);
vout_display_PlacePicture(&sys->place, &vd->source, &cfg, !sys->overlay); vout_display_SendEventDisplaySize(vd, sys->desktop_width, sys->desktop_height);
}
vout_display_SendEventDisplaySize(vd, cfg.display.width, cfg.display.height);
return VLC_SUCCESS; return VLC_SUCCESS;
} }
case VOUT_DISPLAY_CHANGE_ZOOM: case VOUT_DISPLAY_CHANGE_ZOOM:
......
...@@ -858,13 +858,8 @@ bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures) ...@@ -858,13 +858,8 @@ bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures)
/* */ /* */
if (ch_fullscreen) { if (ch_fullscreen) {
vout_display_cfg_t cfg = osys->cfg; if (vout_display_Control(vd, VOUT_DISPLAY_CHANGE_FULLSCREEN,
is_fullscreen) == VLC_SUCCESS) {
cfg.is_fullscreen = is_fullscreen;
cfg.display.width = cfg.is_fullscreen ? 0 : osys->width_saved;
cfg.display.height = cfg.is_fullscreen ? 0 : osys->height_saved;
if (vout_display_Control(vd, VOUT_DISPLAY_CHANGE_FULLSCREEN, &cfg) == VLC_SUCCESS) {
osys->cfg.is_fullscreen = is_fullscreen; osys->cfg.is_fullscreen = is_fullscreen;
if (!is_fullscreen) if (!is_fullscreen)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment