- /* Use a recursive lock to be able to trigger enter/leavefullscreen
- * in middle of an animation, providing that the enter/leave functions
- * are called from the same thread */
- o_animation_lock = [[NSRecursiveLock alloc] init];
- b_animation_lock_alreadylocked = NO;
+
+ [self setMovableByWindowBackground:YES];
+
+ [self setDelegate:self];
+
+ /* Make sure setVisible: returns NO */
+ [self orderOut:self];
+ b_window_is_invisible = YES;
+ videoRatio = NSMakeSize( 0., 0. );
+}
+
+- (void)controlTintChanged
+{
+ BOOL b_playing = NO;
+ if( [o_btn_play alternateImage] == o_img_play_pressed )
+ b_playing = YES;
+
+ if( [NSColor currentControlTint] == NSGraphiteControlTint )
+ {
+ o_img_play_pressed = [NSImage imageNamed: @"play_embedded_graphite"];
+ o_img_pause_pressed = [NSImage imageNamed: @"pause_embedded_graphite"];
+ [o_btn_backward setAlternateImage: [NSImage imageNamed: @"skip_previous_embedded_graphite"]];
+ [o_btn_forward setAlternateImage: [NSImage imageNamed: @"skip_forward_embedded_graphite"]];
+ [o_btn_fullscreen setAlternateImage: [NSImage imageNamed: @"fullscreen_graphite"]];
+ }
+ else
+ {
+ o_img_play_pressed = [NSImage imageNamed: @"play_embedded_blue"];
+ o_img_pause_pressed = [NSImage imageNamed: @"pause_embedded_blue"];
+ [o_btn_backward setAlternateImage: [NSImage imageNamed: @"skip_previous_embedded_blue"]];
+ [o_btn_forward setAlternateImage: [NSImage imageNamed: @"skip_forward_embedded_blue"]];
+ [o_btn_fullscreen setAlternateImage: [NSImage imageNamed: @"fullscreen_blue"]];
+ }
+
+ if( b_playing )
+ [o_btn_play setAlternateImage: o_img_play_pressed];
+ else
+ [o_btn_play setAlternateImage: o_img_pause_pressed];
+}
+
+- (void)dealloc
+{
+ [[NSNotificationCenter defaultCenter] removeObserver: self];
+ [o_img_play release];
+ [o_img_play_pressed release];
+ [o_img_pause release];
+ [o_img_pause_pressed release];
+
+ [super dealloc];