Commit 056a2b9a authored by David Fuhrmann's avatar David Fuhrmann

macosx: delay start in fullscreen animation to allow to finish resize...

macosx: delay start in fullscreen animation to allow to finish resize animation before (close #8780)
parent 0a423efa
......@@ -148,9 +148,37 @@
}
}
NSSize videoViewSize = NSMakeSize(videoViewPosition.size.width, videoViewPosition.size.height);
// TODO: find a cleaner way for "start in fullscreen"
// Start in fs, because either prefs settings, or fullscreen button was pressed before
if (var_InheritBool(VLCIntf, "fullscreen") || var_GetBool(pl_Get(VLCIntf), "fullscreen")) {
// this is not set when we start in fullscreen because of
// fullscreen settings in video prefs the second time
var_SetBool(p_wnd->p_parent, "fullscreen", 1);
int i_full = 1;
SEL sel = @selector(setFullscreen:forWindow:);
NSInvocation *inv = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:sel]];
[inv setTarget:self];
[inv setSelector:sel];
[inv setArgument:&i_full atIndex:2];
[inv setArgument:&p_wnd atIndex:3];
NSTimeInterval resizeTime = 0.;
if(!b_nonembedded && !b_video_wallpaper) {
NSRect window_rect = [o_new_video_window getWindowRectForProposedVideoViewSize:videoViewSize];
resizeTime = [o_new_video_window animationResizeTime:window_rect];
resizeTime += 0.1;
}
[NSTimer scheduledTimerWithTimeInterval:resizeTime invocation:inv repeats:NO];
}
if (!b_video_wallpaper) {
// set window size
NSSize videoViewSize = NSMakeSize(videoViewPosition.size.width, videoViewPosition.size.height);
if (b_nonembedded) {
NSRect window_rect = [o_new_video_window getWindowRectForProposedVideoViewSize:videoViewSize];
......
......@@ -178,25 +178,6 @@ int WindowOpen(vout_window_t *p_wnd, const vout_window_cfg_t *cfg)
msg_Dbg(VLCIntf, "returning videoview with proposed position x=%i, y=%i, width=%i, height=%i", cfg->x, cfg->y, cfg->width, cfg->height);
p_wnd->handle.nsobject = videoView;
// TODO: find a cleaner way for "start in fullscreen"
// either prefs settings, or fullscreen button was pressed before
if (var_InheritBool(VLCIntf, "fullscreen") || var_GetBool(pl_Get(VLCIntf), "fullscreen")) {
// this is not set when we start in fullscreen because of
// fullscreen settings in video prefs the second time
var_SetBool(p_wnd->p_parent, "fullscreen", 1);
int i_full = 1;
SEL sel = @selector(setFullscreen:forWindow:);
NSInvocation *inv = [NSInvocation invocationWithMethodSignature:[o_vout_controller methodSignatureForSelector:sel]];
[inv setTarget:o_vout_controller];
[inv setSelector:sel];
[inv setArgument:&i_full atIndex:2];
[inv setArgument:&p_wnd atIndex:3];
[inv performSelectorOnMainThread:@selector(invoke) withObject:nil
waitUntilDone:NO];
}
[o_vout_provider_lock unlock];
[[VLCMain sharedInstance] setActiveVideoPlayback: YES];
......
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