/*****************************************************************************
* Windows.h: MacOS X interface module
*****************************************************************************
- * Copyright (C) 2012 VLC authors and VideoLAN
+ * Copyright (C) 2012-2014 VLC authors and VideoLAN
* $Id$
*
* Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
*****************************************************************************/
#import <Cocoa/Cocoa.h>
-#import "CompatibilityFixes.h"
/*****************************************************************************
* VLCWindow
@class VLCVoutView;
-@interface VLCWindow : NSWindow
+@interface VLCWindow : NSWindow <NSAnimationDelegate>
{
BOOL b_canBecomeKeyWindow;
BOOL b_isset_canBecomeKeyWindow;
BOOL b_has_active_video;
/*
- * normal fullscreen: YES when all animations are over
- * lion fullscreen: toggled when fs animation starts
+ * YES when all animations are over
* for fullscreen window: always YES
*/
BOOL b_fullscreen;
VLCWindow * o_fullscreen_window;
NSViewAnimation * o_fullscreen_anim1;
NSViewAnimation * o_fullscreen_anim2;
- NSViewAnimation * o_makekey_anim;
NSView * o_temp_view;
- BOOL b_window_is_invisible;
- NSRecursiveLock * o_animation_lock;
NSInteger i_originalLevel;
+ BOOL b_video_view_was_hidden;
+
NSTimer *t_hide_mouse_timer;
+
+ // true when the window is in transition for entering or exiting fullscreen
+ BOOL b_in_fullscreen_transition;
+
+ NSRect frameBeforeLionFullscreen;
+
+ BOOL b_windowShouldExitFullscreenWhenFinished;
}
@property (nonatomic, assign) VLCVoutView* videoView;
@property (readonly) VLCControlsBarCommon* controlsBar;
+@property (readonly) BOOL inFullscreenTransition;
+@property (readonly) BOOL windowShouldExitFullscreenWhenFinished;
- (void)setWindowLevel:(NSInteger)i_state;
- (void)setTitle:(NSString *)title;
/* fullscreen handling */
-- (void)enterFullscreen;
-- (void)leaveFullscreen;
+- (void)enterFullscreenWithAnimation:(BOOL)b_animation;
+- (void)leaveFullscreenWithAnimation:(BOOL)b_animation;
/* lion fullscreen handling */
- (void)windowWillEnterFullScreen:(NSNotification *)notification;