vlc | branch: master | Ron Frederick <[email protected]> | Sat Jul 9 14:02:05 2011 -0700| [036fe1e197650ae7571e914a5ec01ab7826fd743] | committer: Felix Paul Kühne
MacOS GUI: Tie display fade to "Black out" preference Change the MacOS GUI to trigger the fade of all the displays to black when entering & leaving full screen mode only if the "Black out other displays" preference is set. Signed-off-by: Felix Paul Kühne <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=036fe1e197650ae7571e914a5ec01ab7826fd743 --- modules/gui/macosx/embeddedwindow.m | 30 ++++++++++++++++++++++-------- 1 files changed, 22 insertions(+), 8 deletions(-) diff --git a/modules/gui/macosx/embeddedwindow.m b/modules/gui/macosx/embeddedwindow.m index e2a87c5..d449f76 100644 --- a/modules/gui/macosx/embeddedwindow.m +++ b/modules/gui/macosx/embeddedwindow.m @@ -481,8 +481,11 @@ * simply fade the display */ CGDisplayFadeReservationToken token; - CGAcquireDisplayFadeReservation(kCGMaxDisplayReservationInterval, &token); - CGDisplayFade( token, 0.5, kCGDisplayBlendNormal, kCGDisplayBlendSolidColor, 0, 0, 0, YES ); + if( blackout_other_displays ) + { + CGAcquireDisplayFadeReservation( kCGMaxDisplayReservationInterval, &token ); + CGDisplayFade( token, 0.5, kCGDisplayBlendNormal, kCGDisplayBlendSolidColor, 0, 0, 0, YES ); + } if ([screen isMainScreen]) SetSystemUIMode( kUIModeAllHidden, kUIOptionAutoShowMenuBar); @@ -496,8 +499,11 @@ [o_fullscreen_window setFrame:screen_rect display:YES]; - CGDisplayFade( token, 0.3, kCGDisplayBlendSolidColor, kCGDisplayBlendNormal, 0, 0, 0, NO ); - CGReleaseDisplayFadeReservation( token); + if( blackout_other_displays ) + { + CGDisplayFade( token, 0.3, kCGDisplayBlendSolidColor, kCGDisplayBlendNormal, 0, 0, 0, NO ); + CGReleaseDisplayFadeReservation( token ); + } /* Will release the lock */ [self hasBecomeFullscreen]; @@ -599,6 +605,7 @@ { NSMutableDictionary *dict1, *dict2; NSRect frame; + BOOL blackout_other_displays = config_GetInt( VLCIntf, "macosx-black" ); [self lockFullscreenAnimation]; @@ -621,8 +628,11 @@ * simply fade the display */ CGDisplayFadeReservationToken token; - CGAcquireDisplayFadeReservation(kCGMaxDisplayReservationInterval, &token); - CGDisplayFade( token, 0.3, kCGDisplayBlendNormal, kCGDisplayBlendSolidColor, 0, 0, 0, YES ); + if( blackout_other_displays ) + { + CGAcquireDisplayFadeReservation( kCGMaxDisplayReservationInterval, &token ); + CGDisplayFade( token, 0.3, kCGDisplayBlendNormal, kCGDisplayBlendSolidColor, 0, 0, 0, YES ); + } [[[[VLCMain sharedInstance] controls] fspanel] setNonActive: nil]; SetSystemUIMode( kUIModeNormal, kUIOptionAutoShowMenuBar); @@ -634,8 +644,12 @@ * here */ b_window_is_invisible = YES; - CGDisplayFade( token, 0.5, kCGDisplayBlendSolidColor, kCGDisplayBlendNormal, 0, 0, 0, NO ); - CGReleaseDisplayFadeReservation( token); + if( blackout_other_displays ) + { + CGDisplayFade( token, 0.5, kCGDisplayBlendSolidColor, kCGDisplayBlendNormal, 0, 0, 0, NO ); + CGReleaseDisplayFadeReservation( token ); + } + return; } _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
