[vlc-devel] commit: macosx: clean Dudiak's code a bit ( Felix Paul Kühne )

git version control git at videolan.org
Thu May 21 23:50:19 CEST 2009


vlc | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Thu May 21 23:02:08 2009 +0200| [df53830372ffd296e8a348898204ffc9ad466f3a] | committer: Felix Paul Kühne 

macosx: clean Dudiak's code a bit

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=df53830372ffd296e8a348898204ffc9ad466f3a
---

 modules/gui/macosx/controls.m       |   16 +++----
 modules/gui/macosx/embeddedwindow.m |   86 +++++++++++++----------------------
 modules/gui/macosx/playlist.m       |    6 ++-
 3 files changed, 42 insertions(+), 66 deletions(-)

diff --git a/modules/gui/macosx/controls.m b/modules/gui/macosx/controls.m
index b0aea74..21df061 100644
--- a/modules/gui/macosx/controls.m
+++ b/modules/gui/macosx/controls.m
@@ -423,12 +423,10 @@
 
 - (IBAction)showPosition: (id)sender
 {
-    vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT,
-                                             FIND_ANYWHERE );
+    vout_thread_t *p_vout = input_GetVout( pl_CurrentInput( VLCIntf ));
     if( p_vout != NULL )
     {
-        intf_thread_t * p_intf = VLCIntf;
-        var_SetInteger( p_intf->p_libvlc, "key-action", ACTIONID_POSITION );
+        var_SetInteger( VLCIntf->p_libvlc, "key-action", ACTIONID_POSITION );
         vlc_object_release( (vlc_object_t *)p_vout );
     }
 }
@@ -451,8 +449,7 @@
 {
     NSString *o_title = [sender title];
 
-    vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT,
-                                              FIND_ANYWHERE );
+    vout_thread_t *p_vout = input_GetVout( pl_CurrentInput( VLCIntf ));
     if( p_vout != NULL )
     {
         id o_vout_view = [self voutView];
@@ -615,8 +612,8 @@
 
     if( key )
     {
-        vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT,
-                                              FIND_ANYWHERE );
+        vout_thread_t *p_vout = input_GetVout( pl_CurrentInput( VLCIntf ));
+
         if( p_vout != NULL )
         {
             /* Escape */
@@ -1044,8 +1041,7 @@
         NSEnumerator *o_enumerator = [o_windows objectEnumerator];
         bEnabled = FALSE;
  
-        vout_thread_t   *p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT,
-                                              FIND_ANYWHERE );
+        vout_thread_t   *p_vout = input_GetVout( pl_CurrentInput( VLCIntf ));
         if( p_vout != NULL )
         {
             if( [[o_mi title] isEqualToString: _NS("Float on Top")] )
diff --git a/modules/gui/macosx/embeddedwindow.m b/modules/gui/macosx/embeddedwindow.m
index 3392fd1..5ddb865 100644
--- a/modules/gui/macosx/embeddedwindow.m
+++ b/modules/gui/macosx/embeddedwindow.m
@@ -26,9 +26,6 @@
  * Preamble
  *****************************************************************************/
 
-/* DisableScreenUpdates, SetSystemUIMode, ... */
-#import <QuickTime/QuickTime.h>
-
 #import "intf.h"
 #import "controls.h"
 #import "vout.h"
@@ -36,6 +33,9 @@
 #import "fspanel.h"
 #import "playlist.h"
 
+/* SetSystemUIMode, ... */
+#import <Carbon/Carbon.h>
+
 /*****************************************************************************
  * extension to NSWindow's interface to fix compilation warnings
  * and let us access this functions properly
@@ -53,6 +53,22 @@
 
 @implementation VLCEmbeddedWindow
 
+- (id)initWithContentRect:(NSRect)contentRect styleMask: (NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
+{
+    BOOL b_useTextured = YES;
+    if( [[NSWindow class] instancesRespondToSelector:@selector(setContentBorderThickness:forEdge:)] )
+    {
+        b_useTextured = NO;
+        windowStyle ^= NSTexturedBackgroundWindowMask;
+    }
+    self = [super initWithContentRect:contentRect styleMask:windowStyle backing:bufferingType defer:deferCreation];
+    if(! b_useTextured )
+    {
+        [self setContentBorderThickness:28.0 forEdge:NSMinYEdge];
+    }
+    return self;
+}
+
 - (void)awakeFromNib
 {
     [self setDelegate: self];
@@ -71,15 +87,9 @@
     [o_btn_playlist setToolTip: _NS("Playlist")];
     [self setTitle: _NS("VLC media player")];
 
-    if(MACOS_VERSION < 10.5f) {
-        o_img_play = [NSImage imageNamed: @"play"];
-        o_img_pause = [NSImage imageNamed: @"pause"];
-        [o_btn_play setImage: [NSImage imageNamed: @"play"]];
-    }
-    else {
-        o_img_play = [NSImage imageNamed: @"play_big"];
-        o_img_pause = [NSImage imageNamed: @"pause_big"];
-    }
+    o_img_play = [NSImage imageNamed: @"play_big"];
+    o_img_pause = [NSImage imageNamed: @"pause_big"];
+
     [self controlTintChanged];
     [[NSNotificationCenter defaultCenter] addObserver: self
                                              selector: @selector( controlTintChanged )
@@ -118,30 +128,8 @@
     if( [o_btn_play alternateImage] == o_img_play_pressed )
         b_playing = YES;
     
-    if (MACOS_VERSION < 10.5f) {
-        /* System is running Tiger and should use aqua buttons */
-        [o_btn_backward setImage: [NSImage imageNamed: @"skip_previous_active"]];
-        [o_btn_forward setImage: [NSImage imageNamed: @"skip_forward_active"]];
-        if( [NSColor currentControlTint] == NSGraphiteControlTint )
-        {
-            o_img_play_pressed = [NSImage imageNamed: @"play_graphite"];
-            o_img_pause_pressed = [NSImage imageNamed: @"pause_graphite"];
-            [o_btn_backward setAlternateImage: [NSImage imageNamed: @"skip_previous_graphite"]];
-            [o_btn_forward setAlternateImage: [NSImage imageNamed: @"skip_forward_graphite"]];
-        }
-        else
-        {
-            o_img_play_pressed = [NSImage imageNamed: @"play_blue"];
-            o_img_pause_pressed = [NSImage imageNamed: @"pause_blue"];
-            [o_btn_backward setAlternateImage: [NSImage imageNamed: @"skip_previous_blue"]];
-            [o_btn_forward setAlternateImage: [NSImage imageNamed: @"skip_forward_blue"]];
-        }
-    }
-    else{
-        /* System is running Leopard or later and should use metal buttons */
-        o_img_play_pressed = [NSImage imageNamed: @"play_big_down"];
-        o_img_pause_pressed = [NSImage imageNamed: @"pause_big_down"];
-    }
+    o_img_play_pressed = [NSImage imageNamed: @"play_big_down"];
+    o_img_pause_pressed = [NSImage imageNamed: @"pause_big_down"];
     
     if( b_playing )
         [o_btn_play setAlternateImage: o_img_play_pressed];
@@ -461,10 +449,9 @@
         [o_fullscreen_window setBackgroundColor: [NSColor blackColor]];
         [o_fullscreen_window setCanBecomeKeyWindow: YES];
 
-        if (![self isVisible] || [self alphaValue] == 0.0 || MACOS_VERSION < 10.4f)
+        if (![self isVisible] || [self alphaValue] == 0.0)
         {
-            /* We don't animate if we are not visible or if we are running on
-             * Mac OS X <10.4 which doesn't support NSAnimation, instead we
+            /* We don't animate if we are not visible, instead we
              * simply fade the display */
             CGDisplayFadeReservationToken token;
  
@@ -495,20 +482,12 @@
         }
  
         /* Make sure we don't see the o_view disappearing of the screen during this operation */
-        DisableScreenUpdates();
+        NSDisableScreenUpdates();
         [[self contentView] replaceSubview:o_view with:o_temp_view];
         [o_temp_view setFrame:[o_view frame]];
         [o_fullscreen_window setContentView:o_view];
         [o_fullscreen_window makeKeyAndOrderFront:self];
-        EnableScreenUpdates();
-    }
-
-    if (MACOS_VERSION < 10.4f)
-    {
-        /* We were already fullscreen nothing to do when NSAnimation
-         * is not supported */
-        [self unlockFullscreenAnimation];
-        return;
+        NSEnableScreenUpdates();
     }
 
     /* We are in fullscreen (and no animation is running) */
@@ -612,10 +591,9 @@
         return;
     }
 
-    if (fadeout || MACOS_VERSION < 10.4f)
+    if (fadeout)
     {
-        /* We don't animate if we are not visible or if we are running on
-        * Mac OS X <10.4 which doesn't support NSAnimation, instead we
+        /* We don't animate if we are not visible, instead we
         * simply fade the display */
         CGDisplayFadeReservationToken token;
 
@@ -696,7 +674,7 @@
 {
     /* This function is private and should be only triggered at the end of the fullscreen change animation */
     /* Make sure we don't see the o_view disappearing of the screen during this operation */
-    DisableScreenUpdates();
+    NSDisableScreenUpdates();
     [o_view retain];
     [o_view removeFromSuperviewWithoutNeedingDisplay];
     [[self contentView] replaceSubview:o_temp_view with:o_view];
@@ -706,7 +684,7 @@
     if ([self isVisible])
         [super makeKeyAndOrderFront:self]; /* our version contains a workaround */
     [o_fullscreen_window orderOut: self];
-    EnableScreenUpdates();
+    NSEnableScreenUpdates();
 
     [o_fullscreen_window release];
     o_fullscreen_window = nil;
diff --git a/modules/gui/macosx/playlist.m b/modules/gui/macosx/playlist.m
index 54f548a..1cb0f89 100644
--- a/modules/gui/macosx/playlist.m
+++ b/modules/gui/macosx/playlist.m
@@ -1551,10 +1551,12 @@
     playlist_t *p_playlist = pl_Hold( VLCIntf );
     
     id o_playing_item;
-    
+
+    PL_LOCK;
     o_playing_item = [o_outline_dict objectForKey:
                       [NSString stringWithFormat:@"%p",  playlist_CurrentPlayingItem( p_playlist )]];
-    
+    PL_UNLOCK;
+
     pl_Release( VLCIntf );
     
     return o_playing_item;




More information about the vlc-devel mailing list