X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fmacosx%2FMainWindow.h;h=3b33df0e8cf5a03583536aa43b36f369f3620bda;hb=05a4b8a6f245d3487570dfee38bacad4a03175de;hp=ca4bed6406b1c559469ff95609a187ccef1b96d2;hpb=dac7641538885c5a73c34118a6f3e14dcedb9fae;p=vlc diff --git a/modules/gui/macosx/MainWindow.h b/modules/gui/macosx/MainWindow.h index ca4bed6406..3b33df0e8c 100644 --- a/modules/gui/macosx/MainWindow.h +++ b/modules/gui/macosx/MainWindow.h @@ -1,7 +1,7 @@ /***************************************************************************** * MainWindow.h: MacOS X interface module ***************************************************************************** - * Copyright (C) 2002-2011 VideoLAN + * Copyright (C) 2002-2012 VLC authors and VideoLAN * $Id$ * * Authors: Felix Paul Kühne @@ -25,11 +25,14 @@ *****************************************************************************/ #import +#import "CompatibilityFixes.h" #import "PXSourceList.h" #import #import "misc.h" +#import "fspanel.h" +#import "MainWindowTitle.h" -@interface VLCMainWindow : NSWindow { +@interface VLCMainWindow : NSWindow { IBOutlet id o_play_btn; IBOutlet id o_bwd_btn; IBOutlet id o_fwd_btn; @@ -40,6 +43,7 @@ IBOutlet id o_effects_btn; IBOutlet id o_fullscreen_btn; IBOutlet id o_search_fld; + IBOutlet id o_topbar_view; IBOutlet id o_volume_sld; IBOutlet id o_volume_track_view; IBOutlet id o_volume_down_btn; @@ -49,20 +53,44 @@ IBOutlet id o_time_fld; IBOutlet id o_progress_bar; IBOutlet id o_bottombar_view; - IBOutlet id o_time_sld_left_view; - IBOutlet id o_time_sld_middle_view; - IBOutlet id o_time_sld_right_view; - // TODO Playlist table, additional ui stuff at the top of the window + IBOutlet id o_time_sld_background; IBOutlet id o_playlist_table; IBOutlet id o_video_view; IBOutlet id o_split_view; + IBOutlet id o_left_split_view; + IBOutlet id o_right_split_view; IBOutlet id o_sidebar_view; + IBOutlet id o_sidebar_scrollview; IBOutlet id o_chosen_category_lbl; + IBOutlet id o_dropzone_view; + IBOutlet id o_dropzone_btn; + IBOutlet id o_dropzone_lbl; + + IBOutlet VLCFSPanel *o_fspanel; + IBOutlet id o_titlebar_view; + IBOutlet id o_resize_view; + + IBOutlet id o_detached_play_btn; + IBOutlet id o_detached_fwd_btn; + IBOutlet id o_detached_bwd_btn; + IBOutlet id o_detached_fullscreen_btn; + IBOutlet id o_detached_time_fld; + IBOutlet id o_detached_time_sld; + IBOutlet id o_detached_time_sld_background; + IBOutlet id o_detached_progress_bar; + IBOutlet id o_detached_time_sld_fancygradient_view; + IBOutlet id o_detached_bottombar_view; + IBOutlet id o_detached_titlebar_view; + IBOutlet id o_detached_video_window; + BOOL b_dark_interface; + BOOL b_nativeFullscreenMode; BOOL b_video_playback_enabled; + BOOL b_dropzone_active; + BOOL b_splitview_removed; + int i_lastSplitViewHeight; int i_lastShownVolume; - BOOL b_mute; input_state_e cachedInputState; NSImage * o_pause_img; @@ -85,6 +113,25 @@ BOOL just_triggered_next; BOOL just_triggered_previous; NSMutableArray *o_sidebaritems; + + BOOL b_nonembedded; + + VLCWindow * o_fullscreen_window; + NSViewAnimation * o_fullscreen_anim1; + NSViewAnimation * o_fullscreen_anim2; + NSViewAnimation * o_makekey_anim; + NSView * o_temp_view; + /* set to yes if we are fullscreen and all animations are over */ + BOOL b_fullscreen; + BOOL b_window_is_invisible; + NSRecursiveLock * o_animation_lock; + NSSize nativeVideoSize; + + NSTimer *t_hide_mouse_timer; + + VLCColorView * o_color_backdrop; + NSInteger i_originalLevel; + NSRect previousSavedFrame; } + (VLCMainWindow *)sharedInstance; @@ -99,9 +146,16 @@ - (IBAction)volumeAction:(id)sender; - (IBAction)effects:(id)sender; - (IBAction)fullscreen:(id)sender; +- (IBAction)dropzoneButtonAction:(id)sender; -- (id)videoView; -- (void)setVideoplayEnabled; +- (void)setTitle:(NSString *)title; +- (void) customZoom: (id)sender; +- (void)windowResizedOrMoved:(NSNotification *)notification; + +- (void)showDropZone; +- (void)hideDropZone; +- (void)showSplitView; +- (void)hideSplitView; - (void)updateTimeSlider; - (void)updateVolumeSlider; - (void)updateWindow; @@ -115,13 +169,37 @@ - (void)drawFancyGradientEffectForTimeSlider; +- (id)videoView; +- (id)setupVideoView; +- (void)setVideoplayEnabled; +- (void)resizeWindow; +- (void)setNativeVideoSize:(NSSize)size; + +- (void)hideMouseCursor:(NSTimer *)timer; +- (void)recreateHideMouseTimer; + +/* fullscreen handling */ +- (void)showFullscreenController; +- (BOOL)isFullscreen; +- (void)lockFullscreenAnimation; +- (void)unlockFullscreenAnimation; +- (void)enterFullscreen; +- (void)leaveFullscreen; +- (void)leaveFullscreenAndFadeOut: (BOOL)fadeout; +- (void)hasEndedFullscreen; +- (void)hasBecomeFullscreen; +- (void)setFrameOnMainThread:(NSData*)packedargs; + +/* lion's native fullscreen handling */ +- (void)windowWillEnterFullScreen:(NSNotification *)notification; +- (void)windowWillExitFullScreen:(NSNotification *)notification; + @end -@interface VLCProgressBarGradientEffect : NSView { - NSImage * o_time_sld_gradient_left_img; - NSImage * o_time_sld_gradient_middle_img; - NSImage * o_time_sld_gradient_right_img; +@interface VLCDetachedVideoWindow : NSWindow +{ } -- (void)loadImagesInDarkStyle:(BOOL)b_value; -@end +- (BOOL)isFullscreen; + +@end