Revision: 15310
http://sourceforge.net/p/skim-app/code/15310
Author: hofman
Date: 2025-05-27 15:21:37 +0000 (Tue, 27 May 2025)
Log Message:
-----------
Set screenshot CGImage directly in layer hosting view
Modified Paths:
--------------
trunk/SKMainWindowController_FullScreen.m
Modified: trunk/SKMainWindowController_FullScreen.m
===================================================================
--- trunk/SKMainWindowController_FullScreen.m 2025-05-27 14:35:55 UTC (rev
15309)
+++ trunk/SKMainWindowController_FullScreen.m 2025-05-27 15:21:37 UTC (rev
15310)
@@ -476,6 +476,7 @@
NSWindow *window = [self window];
NSWindow *displayWindow = savedNormalWindow;
NSRect frame = [window frame];
+ CALayer *layer = [CALayer layer];
CGImageRef cgImage = CGWindowListCreateImage(CGRectNull,
kCGWindowListOptionIncludingWindow, (CGWindowID)[window windowNumber],
kCGWindowImageBoundsIgnoreFraming | kCGWindowImageBestResolution);
if (([window styleMask] & NSWindowStyleMaskFullScreen) != 0 &&
autoHideToolbarInFullScreen() == NO && [[window toolbar] isVisible]) {
NSWindow *tbWindow = nil;
@@ -496,10 +497,11 @@
CGContextRelease(ctx);
}
}
- NSImage *image = [[NSImage alloc] initWithCGImage:cgImage size:frame.size];
- CGImageRelease(cgImage);
+ [layer setMasksToBounds:YES];
+ [layer setContents:CFBridgingRelease(cgImage)];
[displayWindow setFrame:frame display:NO];
- [displayWindow addImageViewWithImage:image];
+ [[displayWindow contentView] setLayer:layer];
+ [[displayWindow contentView] setWantsLayer:YES];
[displayWindow setHasShadow:[window hasShadow]];
[displayWindow setLevel:[window level]];
[displayWindow orderWindow:place relativeTo:window];
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