Revision: 13394
http://sourceforge.net/p/skim-app/code/13394
Author: hofman
Date: 2023-03-20 09:55:16 +0000 (Mon, 20 Mar 2023)
Log Message:
-----------
static function to change alpha value of title bar controls for fullscreen
transition
Modified Paths:
--------------
trunk/SKMainWindowController_FullScreen.m
Modified: trunk/SKMainWindowController_FullScreen.m
===================================================================
--- trunk/SKMainWindowController_FullScreen.m 2023-03-19 16:04:13 UTC (rev
13393)
+++ trunk/SKMainWindowController_FullScreen.m 2023-03-20 09:55:16 UTC (rev
13394)
@@ -596,6 +596,12 @@
return 0.0;
}
+static inline void setAlphaValueOfTitleBarControls(NSWindow *window, CGFloat
alpha, BOOL animate) {
+ for (NSView *view in [[[window standardWindowButton:NSWindowCloseButton]
superview] subviews])
+ if ([view isKindOfClass:[NSControl class]])
+ [(animate ? (id)[view animator] : (id)view) setAlphaValue:alpha];
+}
+
- (void)windowWillEnterFullScreen:(NSNotification *)notification {
mwcFlags.isSwitchingFullScreen = 1;
interactionMode = SKFullScreenMode;
@@ -632,9 +638,7 @@
[self showStaticContentForWindow:window];
[window setFrame:frame display:YES];
[window orderWindow:NSWindowAbove relativeTo:animationWindow];
- for (NSView *view in [[[window
standardWindowButton:NSWindowCloseButton] superview] subviews])
- if ([view isKindOfClass:[NSControl class]])
- [view setAlphaValue:0.0];
+ setAlphaValueOfTitleBarControls(window, 0.0, NO);
[(SKMainWindow *)window setDisableConstrainedFrame:NO];
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
[context setDuration:duration];
@@ -649,9 +653,7 @@
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
[context setDuration:duration - 0.02];
[[window animator] setFrame:frame display:YES];
- for (NSView *view in [[[window
standardWindowButton:NSWindowCloseButton] superview] subviews])
- if ([view isKindOfClass:[NSControl class]])
- [[view animator] setAlphaValue:0.0];
+ setAlphaValueOfTitleBarControls(window, 0.0, YES);
}
completionHandler:^{
[(SKMainWindow *)window setDisableConstrainedFrame:NO];
@@ -725,9 +727,7 @@
[self showStaticContentForWindow:window];
[animationWindow setLevel:NSStatusWindowLevel];
[window setStyleMask:[window styleMask] &
~NSWindowStyleMaskFullScreen];
- for (NSView *view in [[[window
standardWindowButton:NSWindowCloseButton] superview] subviews])
- if ([view isKindOfClass:[NSControl class]])
- [view setAlphaValue:1.0];
+ setAlphaValueOfTitleBarControls(window, 1.0, NO);
[window setFrame:frame display:YES];
[window setLevel:NSNormalWindowLevel];
[window setAlphaValue:1.0];
@@ -743,17 +743,13 @@
} else {
[(SKMainWindow *)window setDisableConstrainedFrame:YES];
[window setStyleMask:[window styleMask] &
~NSWindowStyleMaskFullScreen];
- for (NSView *view in [[[window
standardWindowButton:NSWindowCloseButton] superview] subviews])
- if ([view isKindOfClass:[NSControl class]])
- [view setAlphaValue:0.0];
+ setAlphaValueOfTitleBarControls(window, 0.0, NO);
[window setFrame:SKShrinkRect([[window screen] frame],
-fullScreenOffset(window), NSMaxYEdge) display:YES];
[window setLevel:NSStatusWindowLevel];
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
[context setDuration:duration];
[[window animator] setFrame:frame display:YES];
- for (NSView *view in [[[window
standardWindowButton:NSWindowCloseButton] superview] subviews])
- if ([view isKindOfClass:[NSControl class]])
- [[view animator] setAlphaValue:1.0];
+ setAlphaValueOfTitleBarControls(window, 1.0, YES);
}
completionHandler:^{
[(SKMainWindow *)window setDisableConstrainedFrame:NO];
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