qt: playlist: use item title if available
[vlc.git] / modules / gui / minimal_macosx / VLCMinimalVoutWindow.m
1 /*****************************************************************************
2  * VLCMinimalVoutWindow.m: macOS minimal vout window
3  *****************************************************************************
4  * Copyright (C) 2007-2017 VLC authors and VideoLAN
5  *
6  * Authors: Pierre d'Herbemont <pdherbemont # videolan.org>
7  *          Felix Paul K├╝hne <fkuehne at videolan dot org>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 /*****************************************************************************
25  * Preamble
26  *****************************************************************************/
27
28 #import "VLCMinimalVoutWindow.h"
29 #import "misc.h"
30
31 #import <Cocoa/Cocoa.h>
32
33 @implementation VLCMinimalVoutWindow
34 - (id)initWithContentRect:(NSRect)contentRect
35 {
36     if( self = [super initWithContentRect:contentRect
37                                 styleMask:NSBorderlessWindowMask
38                                   backing:NSBackingStoreBuffered
39                                     defer:NO])
40     {
41         initialFrame = contentRect;
42         [self setBackgroundColor:[NSColor blackColor]];
43         [self setHasShadow:YES];
44         [self setMovableByWindowBackground:YES];
45         [self center];
46     }
47     return self;
48 }
49
50 - (void)enterFullscreen
51 {
52     NSScreen *screen = [self screen];
53
54     initialFrame = [self frame];
55     [self setFrame:[[self screen] frame] display:YES animate:YES];
56
57     NSApplicationPresentationOptions presentationOpts = [NSApp presentationOptions];
58     if ([screen hasMenuBar])
59         presentationOpts |= NSApplicationPresentationAutoHideMenuBar;
60     if ([screen hasMenuBar] || [screen hasDock])
61         presentationOpts |= NSApplicationPresentationAutoHideDock;
62     [NSApp setPresentationOptions:presentationOpts];
63 }
64
65 - (void)leaveFullscreen
66 {
67     [NSApp setPresentationOptions: NSApplicationPresentationDefault];
68     [self setFrame:initialFrame display:YES animate:YES];
69 }
70
71 @end