Revision: 13293
http://sourceforge.net/p/skim-app/code/13293
Author: hofman
Date: 2023-02-09 15:59:20 +0000 (Thu, 09 Feb 2023)
Log Message:
-----------
ivar for metal view
Modified Paths:
--------------
trunk/SKTransitionController.m
Modified: trunk/SKTransitionController.m
===================================================================
--- trunk/SKTransitionController.m 2023-02-09 15:29:19 UTC (rev 13292)
+++ trunk/SKTransitionController.m 2023-02-09 15:59:20 UTC (rev 13293)
@@ -142,6 +142,7 @@
#pragma mark -
@interface SKMetalTransitionView : NSView <SKTransitionView, MTKViewDelegate> {
+ MTKView *metalView;
CIImage *image;
CGRect extent;
CIFilter *filter;
@@ -741,15 +742,14 @@
self = [super initWithFrame:frameRect];
if (self && [MTKView class]) {
id<MTLDevice> device = MTLCreateSystemDefaultDevice();
- MTKView *view = [[MTKView alloc] initWithFrame:[self bounds]
device:device];
- [view setFramebufferOnly:NO];
- [view setEnableSetNeedsDisplay:YES];
- [view setPaused:YES];
- [view setClearColor:MTLClearColorMake(0.0, 0.0, 0.0, 1.0)];
- [view setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
- [view setDelegate:self];
- [self addSubview:view];
- [view release];
+ metalView = [[MTKView alloc] initWithFrame:[self bounds]
device:device];
+ [metalView setFramebufferOnly:NO];
+ [metalView setEnableSetNeedsDisplay:YES];
+ [metalView setPaused:YES];
+ [metalView setClearColor:MTLClearColorMake(0.0, 0.0, 0.0, 1.0)];
+ [metalView setAutoresizingMask:NSViewWidthSizable |
NSViewHeightSizable];
+ [metalView setDelegate:self];
+ [self addSubview:metalView];
commandQueue = [device newCommandQueue];
context = [[CIContext contextWithMTLDevice:device] retain];
CFRelease(device);
@@ -758,6 +758,7 @@
}
- (void)dealloc {
+ SKDESTROY(metalView);
SKDESTROY(image);
SKDESTROY(filter);
SKDESTROY(commandQueue);
@@ -775,7 +776,6 @@
[filter setValue:[NSNumber numberWithDouble:newProgress]
forKey:kCIInputTimeKey];
[image release];
image = [[filter outputImage] retain];
- NSView *metalView = [[self subviews] firstObject];
[metalView setAlphaValue:1.0];
[metalView setNeedsDisplay:YES];
[self setNeedsDisplay:YES];
@@ -786,7 +786,6 @@
if (newImage != image) {
[image release];
image = [newImage retain];
- NSView *metalView = [[self subviews] firstObject];
[metalView setAlphaValue:0.0];
[metalView setNeedsDisplay:YES];
}
@@ -821,7 +820,7 @@
- (void)mtkView:(MTKView *)view drawableSizeWillChange:(CGSize)size {}
- (void)drawRect:(NSRect)rect {
- if ([[[self subviews] firstObject] alphaValue] <= 0.0) {
+ if ([metalView alphaValue] <= 0.0) {
[[NSColor blackColor] setFill];
NSRectFill(rect);
[image drawInRect:[self bounds] fromRect:extent
operation:NSCompositeSourceOver fraction:1.0];
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