mirror of https://code.videolan.org/videolan/vlc
macosx: Create own method for setting window to float on top in vlcvideooutputprovider
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
This commit is contained in:
parent
dcac399773
commit
1580ba730c
|
@ -41,6 +41,7 @@ extern NSString *VLCWindowLevelKey;
|
|||
- (void)removeVoutForDisplay:(NSValue *)o_key;
|
||||
- (void)setNativeVideoSize:(NSSize)size forWindow:(vlc_window_t *)p_wnd;
|
||||
- (void)setWindowLevel:(NSInteger)i_level forWindow:(vlc_window_t *)p_wnd;
|
||||
- (void)floatOnTopForWindow:(vlc_window_t *)p_wnd;
|
||||
- (void)setFullscreen:(int)i_full forWindow:(vlc_window_t *)p_wnd withAnimation:(BOOL)b_animation;
|
||||
|
||||
- (void)updateWindowLevelForHelperWindows:(NSInteger)i_level;
|
||||
|
|
|
@ -110,16 +110,17 @@ static void WindowSetState(vlc_window_t *p_wnd, unsigned i_state)
|
|||
msg_Dbg(p_wnd, "Ignore change to VLC_WINDOW_STATE_BELOW");
|
||||
|
||||
@autoreleasepool {
|
||||
VLCVideoOutputProvider *voutProvider = VLCMain.sharedInstance.voutProvider;
|
||||
VLCVideoOutputProvider * const voutProvider = VLCMain.sharedInstance.voutProvider;
|
||||
|
||||
NSInteger i_cocoa_level = NSNormalWindowLevel;
|
||||
|
||||
if (i_state & VLC_WINDOW_STATE_ABOVE)
|
||||
i_cocoa_level = NSStatusWindowLevel;
|
||||
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[voutProvider setWindowLevel:i_cocoa_level forWindow:p_wnd];
|
||||
});
|
||||
if (i_state & VLC_WINDOW_STATE_ABOVE) {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[voutProvider floatOnTopForWindow:p_wnd];
|
||||
});
|
||||
} else {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[voutProvider setWindowLevel:NSNormalWindowLevel forWindow:p_wnd];
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -535,6 +536,11 @@ int WindowOpen(vlc_window_t *p_wnd)
|
|||
[o_window setWindowLevel:i_level];
|
||||
}
|
||||
|
||||
- (void)floatOnTopForWindow:(vlc_window_t *)p_wnd
|
||||
{
|
||||
[self setWindowLevel:NSStatusWindowLevel forWindow:p_wnd];
|
||||
}
|
||||
|
||||
- (void)setFullscreen:(int)i_full forWindow:(vlc_window_t *)p_wnd withAnimation:(BOOL)b_animation
|
||||
{
|
||||
intf_thread_t *p_intf = getIntf();
|
||||
|
|
Loading…
Reference in New Issue