backing:(NSBackingStoreType)bufferingType \r
defer:(BOOL)flag\r
{\r
- id win=[super initWithContentRect:contentRect styleMask:NSTexturedBackgroundWindowMask backing:bufferingType defer:flag];\r
+ id win = [super initWithContentRect:contentRect styleMask:NSTexturedBackgroundWindowMask backing:bufferingType defer:flag];\r
[win setOpaque:NO];\r
[win setHasShadow: NO];\r
[win setBackgroundColor:[NSColor clearColor]];\r
/* let the window sit on top of everything else and start out completely transparent */\r
[win setLevel:NSFloatingWindowLevel];\r
[win setAlphaValue:0.0];\r
- \r
- /* centre the panel in the lower third of the screen */\r
- NSPoint theCoordinate;\r
- NSRect theScreensFrame;\r
- NSRect theWindowsFrame;\r
- int i_outputScreen;\r
- \r
- i_outputScreen = var_GetInteger( VLCIntf, "video-device" );\r
- if( i_outputScreen <=0 || i_outputScreen > (signed int)[[NSScreen screens] count] )\r
- /* invalid preferences or none specified, using main screen */\r
- theScreensFrame = [[NSScreen mainScreen] frame];\r
- else\r
- /* user-defined screen */\r
- theScreensFrame = [[[NSScreen screens] objectAtIndex: i_outputScreen] frame];\r
- \r
- theWindowsFrame = [win frame];\r
- theCoordinate.x = (theScreensFrame.size.width - theWindowsFrame.size.width) / 2;\r
- theCoordinate.y = (theScreensFrame.size.height / 3) - theWindowsFrame.size.height;\r
- [win setFrameTopLeftPoint: theCoordinate];\r
+ i_device = 0;\r
+\r
+ [win center];\r
return win;\r
}\r
\r
- (void)awakeFromNib\r
{\r
[self setContentView:[[VLCFSPanelView alloc] initWithFrame: [self frame]]];\r
- BOOL isInside=(NSPointInRect([NSEvent mouseLocation],[self frame]));\r
+ BOOL isInside = (NSPointInRect([NSEvent mouseLocation],[self frame]));\r
[[self contentView] addTrackingRect:[[self contentView] bounds] owner:self userData:nil assumeInside:isInside];\r
if (isInside)\r
- [self mouseEntered:NULL];\r
+ [self mouseEntered:NULL];\r
if (!isInside)\r
- [self mouseExited:NULL];\r
+ [self mouseExited:NULL];\r
}\r
\r
/* Windows created with NSBorderlessWindowMask normally can't be key, but we want ours to be */\r
[super dealloc];\r
}\r
\r
+-(void)center\r
+{\r
+ /* centre the panel in the lower third of the screen */\r
+ NSPoint theCoordinate;\r
+ NSRect theScreensFrame;\r
+ NSRect theWindowsFrame;\r
+\r
+ if( i_device < 0 || i_device >= (signed int)[[NSScreen screens] count] )\r
+ /* invalid preferences or none specified, using main screen */\r
+ theScreensFrame = [[NSScreen mainScreen] frame];\r
+ else\r
+ /* user-defined screen */\r
+ theScreensFrame = [[[NSScreen screens] objectAtIndex: i_device] frame];\r
+\r
+ theWindowsFrame = [self frame];\r
+ \r
+ theCoordinate.x = (theScreensFrame.size.width - theWindowsFrame.size.width) / 2 + theScreensFrame.origin.x;\r
+ theCoordinate.y = (theScreensFrame.size.height / 3) - theWindowsFrame.size.height + theScreensFrame.origin.y;\r
+ [self setFrameTopLeftPoint: theCoordinate];\r
+}\r
+\r
- (void)setPlay\r
{\r
[[self contentView] setPlay];\r
\r
- (void)fadeOut\r
{\r
+ if( NSPointInRect([NSEvent mouseLocation],[self frame]))\r
+ return;\r
+\r
if( ( [self alphaValue] > 0.0 ) )\r
{\r
if (![self fadeTimer])\r
return b_displayed;\r
}\r
\r
-- (void)setVoutWasUpdated\r
+- (void)setVoutWasUpdated: (int)i_newdevice;\r
{\r
b_voutWasUpdated = YES;\r
+ if( i_newdevice != i_device )\r
+ {\r
+ i_device = i_newdevice;\r
+ [self center];\r
+ }\r
}\r
@end\r
\r
\r
- (void)setPlay\r
{\r
- NSImage *image;\r
- image = [NSImage imageNamed:@"fs_play"];\r
- [o_play setImage:image];\r
- image = [NSImage imageNamed:@"fs_play_highlight"];\r
- [o_play setAlternateImage:image];\r
+ [o_play setImage:[NSImage imageNamed:@"fs_play"]];\r
+ [o_play setAlternateImage: [NSImage imageNamed:@"fs_play_highlight"]];\r
}\r
\r
- (void)setPause\r
{\r
- NSImage *image;\r
- image = [NSImage imageNamed:@"fs_pause"];\r
- [o_play setImage:image];\r
- image = [NSImage imageNamed:@"fs_pause_highlight"];\r
- [o_play setAlternateImage:image];\r
+ [o_play setImage: [NSImage imageNamed:@"fs_pause"]];\r
+ [o_play setAlternateImage: [NSImage imageNamed:@"fs_pause_highlight"]];\r
}\r
\r
- (void)setStreamTitle:(NSString *)o_title\r
[self drawKnobInRect: knobRect];\r
}\r
\r
-@end
\ No newline at end of file
+@end\r
+\r
if( p_vout->b_fullscreen )
{
+ CGDisplayFadeReservationToken token;
+ NSRect screen_rect = [o_screen frame];
+ screen_rect.origin.x = screen_rect.origin.y = 0;
+
/* move the FSPanel to front in case that it is currently shown
* this won't and is not supposed to work when it's fading right now */
if( [[[[VLCMain sharedInstance] getControls] getFSPanel] isDisplayed] )
[[[[VLCMain sharedInstance] getControls] getFSPanel] orderFront: self];
/* tell the fspanel to move itself to front next time it's triggered */
- [[[[VLCMain sharedInstance] getControls] getFSPanel] setVoutWasUpdated];
-
- CGDisplayFadeReservationToken token;
- NSRect screen_rect = [o_screen frame];
- screen_rect.origin.x = screen_rect.origin.y = 0;
+ [[[[VLCMain sharedInstance] getControls] getFSPanel] setVoutWasUpdated: i_device];
/* Creates a window with size: screen_rect on o_screen */
[self initWithContentRect: screen_rect