]> git.sesse.net Git - vlc/blobdiff - modules/gui/minimal_macosx/VLCMinimalVoutWindow.m
minimal_macosX: relicense to LGPL
[vlc] / modules / gui / minimal_macosx / VLCMinimalVoutWindow.m
index 77814edcbc1f0d8db800df9da6a97d595ad3aa53..311bb8b64e1329db75a0e068a8fad06fb1298517 100644 (file)
@@ -1,78 +1,69 @@
 /*****************************************************************************
  * VLCMinimalVoutWindow.m: MacOS X Minimal interface window
  *****************************************************************************
- * Copyright (C) 2007 the VideoLAN team
+ * Copyright (C) 2007-2012 VLC authors and VideoLAN
  * $Id$
  *
  * Authors: Pierre d'Herbemont <pdherbemont # videolan.org>
+ *          Felix Paul Kühne <fkuehne at videolan dot org>
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * This program is free software; you can redistribute it and/or modify it it it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
  * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation, Foundation, Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
-#include "intf.h"
-#include "voutgl.h"
-#include "VLCOpenGLVoutView.h"
-#include "VLCMinimalVoutWindow.h"
+#import "intf.h"
+#import "VLCMinimalVoutWindow.h"
+#import "misc.h"
 
 #import <Cocoa/Cocoa.h>
 
-/* SetSystemUIMode, ... */
-#import <Carbon/Carbon.h>
-
 @implementation VLCMinimalVoutWindow
 - (id)initWithContentRect:(NSRect)contentRect
 {
     if( self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO])
     {
         initialFrame = contentRect;
-        fullscreen = NO;
         [self setBackgroundColor:[NSColor blackColor]];
         [self setHasShadow:YES];
         [self setMovableByWindowBackground: YES];
         [self center];
-        NSLog( @"window created" );
     }
     return self;
 }
 
 - (void)enterFullscreen
 {
-    fullscreen = YES;
+    NSScreen *screen = [self screen];
+
     initialFrame = [self frame];
-    SetSystemUIMode( kUIModeAllHidden, kUIOptionAutoShowMenuBar);
     [self setFrame:[[self screen] frame] display:YES animate:YES];
+
+    NSApplicationPresentationOptions presentationOpts = [NSApp presentationOptions];
+    if ([screen hasMenuBar])
+        presentationOpts |= NSApplicationPresentationAutoHideMenuBar;
+    if ([screen hasMenuBar] || [screen hasDock])
+        presentationOpts |= NSApplicationPresentationAutoHideDock;
+    [NSApp setPresentationOptions:presentationOpts];
 }
 
 - (void)leaveFullscreen
 {
-    fullscreen = NO;
-    SetSystemUIMode( kUIModeNormal, kUIOptionAutoShowMenuBar);
+    [NSApp setPresentationOptions: NSApplicationPresentationDefault];
     [self setFrame:initialFrame display:YES animate:YES];
 }
 
-- (BOOL)stretchesVideo
-{
-    return NO;
-}
-
-- (void)setOnTop: (BOOL)ontop
-{
-
-}
 @end
-