Revision: 13388
http://sourceforge.net/p/skim-app/code/13388
Author: hofman
Date: 2023-03-17 15:35:40 +0000 (Fri, 17 Mar 2023)
Log Message:
-----------
separate method to fade in a window and fade out animationWindow
Modified Paths:
--------------
trunk/SKMainWindowController_FullScreen.m
Modified: trunk/SKMainWindowController_FullScreen.m
===================================================================
--- trunk/SKMainWindowController_FullScreen.m 2023-03-17 15:22:03 UTC (rev
13387)
+++ trunk/SKMainWindowController_FullScreen.m 2023-03-17 15:35:40 UTC (rev
13388)
@@ -386,6 +386,19 @@
[window setAlphaValue:0.0];
}
+- (void)crossFadeToWindow:(NSWindow *)window duration:(NSTimeInterval)duration
{
+ [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
+ [context setDuration:duration];
+ [context setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
+ [[window animator] setAlphaValue:1.0];
+ [[animationWindow animator] setAlphaValue:0.0];
+ }
+ completionHandler:^{
+ [animationWindow orderOut:nil];
+ SKDESTROY(animationWindow);
+ }];
+}
+
#pragma mark API
- (void)enterFullscreen {
@@ -454,15 +467,7 @@
mwcFlags.isSwitchingFullScreen = 0;
- [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
- [context setDuration:PRESENTATION_DURATION];
- [context setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
- [[animationWindow animator] setAlphaValue:0.0];
- [[fullScreenWindow animator] setAlphaValue:1.0];
- } completionHandler:^{
- [animationWindow orderOut:nil];
- SKDESTROY(animationWindow);
- }];
+ [self crossFadeToWindow:fullScreenWindow duration:PRESENTATION_DURATION];
[pdfView setInteractionMode:SKPresentationMode];
[touchBarController interactionModeChanged];
@@ -524,15 +529,7 @@
[self removeFullScreenWindow];
- [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
- [context setDuration:PRESENTATION_DURATION];
- [context setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
- [[animationWindow animator] setAlphaValue:0.0];
- [[mainWindow animator] setAlphaValue:1.0];
- } completionHandler:^{
- [animationWindow orderOut:nil];
- SKDESTROY(animationWindow);
- }];
+ [self crossFadeToWindow:mainWindow duration:PRESENTATION_DURATION];
// the page number may have changed
[self synchronizeWindowTitleWithDocumentName];
@@ -626,16 +623,7 @@
if ([view isKindOfClass:[NSControl class]])
[view setAlphaValue:0.0];
[(SKMainWindow *)window setDisableConstrainedFrame:NO];
- [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
- [context setDuration:duration];
- [context setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
- [[window animator] setAlphaValue:1.0];
- [[animationWindow animator] setAlphaValue:0.0];
- }
- completionHandler:^{
- [animationWindow orderOut:nil];
- SKDESTROY(animationWindow);
- }];
+ [self crossFadeToWindow:window duration:duration];
} else {
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
[context setDuration:duration - 0.02];
@@ -718,16 +706,7 @@
[window setStyleMask:[window styleMask] &
~NSWindowStyleMaskFullScreen];
[window setFrame:frame display:YES];
[window setLevel:NSNormalWindowLevel];
- [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
- [context setDuration:duration];
- [context setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
- [[window animator] setAlphaValue:1.0];
- [[animationWindow animator] setAlphaValue:0.0];
- }
- completionHandler:^{
- [animationWindow orderOut:nil];
- SKDESTROY(animationWindow);
- }];
+ [self crossFadeToWindow:window duration:duration];
} else {
[(SKMainWindow *)window setDisableConstrainedFrame:YES];
[window setStyleMask:[window styleMask] &
~NSWindowStyleMaskFullScreen];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit