Revision: 15201
http://sourceforge.net/p/skim-app/code/15201
Author: hofman
Date: 2025-05-12 16:16:57 +0000 (Mon, 12 May 2025)
Log Message:
-----------
Set flag onm transition view instead of controller, so we have no need to
reference self from block
Modified Paths:
--------------
trunk/SKTransitionController.h
trunk/SKTransitionController.m
Modified: trunk/SKTransitionController.h
===================================================================
--- trunk/SKTransitionController.h 2025-05-12 16:10:40 UTC (rev 15200)
+++ trunk/SKTransitionController.h 2025-05-12 16:16:57 UTC (rev 15201)
@@ -46,7 +46,6 @@
@interface SKTransitionController : NSObject {
SKTransitionView *transitionView;
- BOOL animating;
BOOL shouldScale;
SKTransitionInfo *transition;
Modified: trunk/SKTransitionController.m
===================================================================
--- trunk/SKTransitionController.m 2025-05-12 16:10:40 UTC (rev 15200)
+++ trunk/SKTransitionController.m 2025-05-12 16:16:57 UTC (rev 15201)
@@ -60,21 +60,19 @@
CIFilter *filter;
id<MTLCommandQueue> commandQueue;
CIContext *context;
+ BOOL inUse;
}
@property (nonatomic) CGRect extent;
@property (nonatomic, strong) CIFilter *filter;
@property (nonatomic) CGFloat progress;
+@property (nonatomic, getter=isInUse) BOOL inUse;
@end
#pragma mark -
-@interface SKTransitionController ()
-@property (nonatomic, getter=isAnimating) BOOL animating;
-@end
-
@implementation SKTransitionController
-@synthesize transition, pageTransitions, shouldScale, animating;
+@synthesize transition, pageTransitions, shouldScale;
static inline CGRect scaleRect(NSRect rect, CGFloat scale) {
return CGRectMake(scale * NSMinX(rect), scale * NSMinY(rect), scale *
NSWidth(rect), scale * NSHeight(rect));
@@ -172,7 +170,7 @@
}
- (SKTransitionAnimation)animationAtIndex:(NSUInteger)idx forView:(NSView
*)view {
- if ([self isAnimating])
+ if ([transitionView isInUse])
return nil;
SKTransitionInfo *currentTransition = transition;
@@ -182,8 +180,6 @@
if ([currentTransition style] == SKNoTransition)
return nil;
- [self setAnimating:YES];
-
CIImage *initialImage = currentImageForView(view);
NSRect bounds = [view bounds];
@@ -194,10 +190,10 @@
transitionView = [[SKTransitionView alloc] initWithFrame:bounds];
else
[transitionView setFrame:bounds];
+ [transitionView setInUse:YES];
+
SKTransitionView *transView = transitionView;
- __weak SKTransitionController *weakSelf = self;
-
return ^(NSRect rect, BOOL forward, void (^completionHandler)(void)){
CIImage *finalImage = currentImageForView(view);
@@ -217,7 +213,7 @@
} completionHandler:^{
[transView removeFromSuperview];
[transView setFilter:nil];
- [weakSelf setAnimating:NO];
+ [transView setInUse:NO];
if (completionHandler)
completionHandler();
}];
@@ -231,7 +227,7 @@
@implementation SKTransitionView
-@synthesize extent, filter;
+@synthesize extent, filter, inUse;
@dynamic progress;
- (instancetype)initWithFrame:(NSRect)frameRect {
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