Revision: 14504
http://sourceforge.net/p/skim-app/code/14504
Author: hofman
Date: 2024-10-02 09:42:36 +0000 (Wed, 02 Oct 2024)
Log Message:
-----------
Move transition style methods to SKTransitionInfo class
Modified Paths:
--------------
trunk/SKPresentationOptionsSheetController.m
trunk/SKTransitionController.h
trunk/SKTransitionController.m
trunk/SKTransitionInfo.h
trunk/SKTransitionInfo.m
Modified: trunk/SKPresentationOptionsSheetController.m
===================================================================
--- trunk/SKPresentationOptionsSheetController.m 2024-10-02 09:30:50 UTC
(rev 14503)
+++ trunk/SKPresentationOptionsSheetController.m 2024-10-02 09:42:36 UTC
(rev 14504)
@@ -142,11 +142,11 @@
- (void)windowDidLoad {
// add the filter names to the popup
- NSUInteger i, count = [[SKTransitionController transitionNames] count];
+ NSUInteger i, count = [[SKTransitionInfo transitionNames] count];
NSMutableSet *titles = [NSMutableSet set];
[stylePopUpButton removeAllItems];
for (i = 0; i < count; i++) {
- NSString *title = [SKTransitionController localizedNameForStyle:i];
+ NSString *title = [SKTransitionInfo localizedNameForStyle:i];
while ([titles containsObject:title])
title = [title stringByAppendingString:@" "];
[titles addObject:title];
@@ -331,7 +331,7 @@
[previewView setPage:[[controller pdfDocument] pageAtIndex:idx]];
[[previewView transitionController] setTransition:info];
- [previewWindow setTitle:[SKTransitionController
localizedNameForStyle:[info transitionStyle]]];
+ [previewWindow setTitle:[SKTransitionInfo localizedNameForStyle:[info
transitionStyle]]];
CGFloat titleHeight = NSHeight([previewWindow frame]) -
NSHeight([previewWindow contentLayoutRect]);
rect.size.height += titleHeight - 28.0;
[previewWindow setFrame:rect display:NO];
Modified: trunk/SKTransitionController.h
===================================================================
--- trunk/SKTransitionController.h 2024-10-02 09:30:50 UTC (rev 14503)
+++ trunk/SKTransitionController.h 2024-10-02 09:42:36 UTC (rev 14504)
@@ -57,15 +57,8 @@
@property (nonatomic, nullable, strong) SKTransitionInfo *transition;
@property (nonatomic, nullable, copy) NSArray<NSDictionary<NSString *, id> *>
*pageTransitions;
-@property (class, nonatomic, readonly) NSArray<NSString *> *transitionNames;
-
@property (nonatomic) BOOL shouldScale;
-+ (NSString *)nameForStyle:(SKTransitionStyle)style;
-+ (SKTransitionStyle)styleForName:(NSString *)name;
-
-+ (NSString *)localizedNameForStyle:(SKTransitionStyle)style;
-
- (void)animateForRect:(NSRect)rect from:(NSUInteger)fromIndex
to:(NSUInteger)toIndex change:(NSRect (^)(void))change;
@end
Modified: trunk/SKTransitionController.m
===================================================================
--- trunk/SKTransitionController.m 2024-10-02 09:30:50 UTC (rev 14503)
+++ trunk/SKTransitionController.m 2024-10-02 09:42:36 UTC (rev 14504)
@@ -74,81 +74,6 @@
@synthesize view, transition, pageTransitions, shouldScale;
-static NSDictionary *oldStyleNames = nil;
-
-+ (void)initialize {
- SKINITIALIZE;
- oldStyleNames = [[NSDictionary alloc] initWithObjectsAndKeys:
- @"CoreGraphics SKTransitionFade", @"CIDissolveTransition",
- @"CoreGraphics SKTransitionZoom", @"SKTZoomTransition",
- @"CoreGraphics SKTransitionReveal",
@"SKTRevealTransition",
- @"CoreGraphics SKTransitionSlide", @"SKTSlideTransition",
- @"CoreGraphics SKTransitionWarpFade",
@"SKTWarpFadeTransition",
- @"CoreGraphics SKTransitionSwap", @"SKTSwapTransition",
- @"CoreGraphics SKTransitionCube", @"SKTCubeTransition",
- @"CoreGraphics SKTransitionWarpSwitch",
@"SKTWarpSwitchTransition",
- @"CoreGraphics SKTransitionWarpFlip",
@"SKTFlipTransition",
- @"SKPTAccelerationTransitionFilter",
@"SKTAccelerationTransition",
- @"SKPTBlindsTransitionFilter", @"SKTBlindsTransition",
- @"SKPTBlurTransitionFilter", @"SKTBlurTransition",
- @"SKPTBoxInTransitionFilter", @"SKTBoxInTransition",
- @"SKPTBoxOutTransitionFilter", @"SKTBoxOutTransition",
- @"SKPTCoverTransitionFilter", @"SKTCoverTransition",
- @"SKPTHoleTransitionFilter", @"SKTHoleTransition",
- @"SKPTMeltdownTransitionFilter", @"SKTMeltdownTransition",
- @"SKPTPinchTransitionFilter", @"SKTPinchTransition",
- @"SKPTRadarTransitionFilter", @"SKTRadarTransition",
- @"SKPTSinkTransitionFilter", @"SKTSinkTransition",
- @"SKPTSplitInTransitionFilter", @"SKTSplitInTransition",
- @"SKPTSplitOutTransitionFilter", @"SKSplitOutTransition",
- @"SKPTStripsTransitionFilter", @"SKTStripsTransition",
- @"SKPTUncoverTransitionFilter", @"SKTRevealTransition",
- nil];
-}
-
-+ (NSArray *)transitionNames {
- static NSArray *transitionNames = nil;
-
- if (transitionNames == nil) {
- NSMutableArray *names = [NSMutableArray arrayWithObjects:
- @"", nil];
- // get our transitions
- NSURL *transitionsURL = [[[NSBundle mainBundle] builtInPlugInsURL]
URLByAppendingPathComponent:TRANSITIONS_PLUGIN isDirectory:YES];
- [CIPlugIn loadPlugIn:transitionsURL allowExecutableCode:YES];
- // get all the transition filters
- [CIPlugIn loadAllPlugIns];
- [names addObjectsFromArray:[CIFilter
filterNamesInCategory:kCICategoryTransition]];
- transitionNames = [names copy];
- }
-
- return transitionNames;
-}
-
-+ (NSString *)nameForStyle:(SKTransitionStyle)style {
- if (style > SKNoTransition && style < [[self transitionNames] count])
- return [[self transitionNames] objectAtIndex:style];
- else
- return nil;
-}
-
-+ (SKTransitionStyle)styleForName:(NSString *)name {
- NSUInteger idx = [[self transitionNames] indexOfObject:name];
- if (idx == NSNotFound) {
- NSString *altName = [oldStyleNames objectForKey:name];
- if (altName)
- idx = [[self transitionNames] indexOfObject:altName];
- }
- return idx == NSNotFound ? SKNoTransition : idx;
-}
-
-+ (NSString *)localizedNameForStyle:(SKTransitionStyle)style {
- if (style == SKNoTransition)
- return NSLocalizedString(@"No Transition", @"Transition name");
- else
- return [CIFilter localizedNameForFilterName:[self nameForStyle:style]];
- return @"";
-}
-
static inline CGRect scaleRect(NSRect rect, CGFloat scale) {
return CGRectMake(scale * NSMinX(rect), scale * NSMinY(rect), scale *
NSWidth(rect), scale * NSHeight(rect));
}
@@ -300,7 +225,7 @@
CGRect cgRect =
CGRectIntegral(scaleRect(NSIntersectionRect(NSUnionRect(rect, toRect), bounds),
imageScale));
CGRect cgBounds = scaleRect(bounds, imageScale);
CGRect extent = [currentTransition shouldRestrict] ? cgRect : cgBounds;
- NSString *filterName = [[self class] nameForStyle:[currentTransition
transitionStyle]];
+ NSString *filterName = [SKTransitionInfo
nameForStyle:[currentTransition transitionStyle]];
CGFloat scale = shouldScale ? imageScale * NSHeight(bounds) /
NSHeight([[[view window] screen] frame]) : imageScale;
CIFilter *transitionFilter = [self transitionFilterWithName:filterName
rect:cgRect
Modified: trunk/SKTransitionInfo.h
===================================================================
--- trunk/SKTransitionInfo.h 2024-10-02 09:30:50 UTC (rev 14503)
+++ trunk/SKTransitionInfo.h 2024-10-02 09:42:36 UTC (rev 14504)
@@ -42,7 +42,7 @@
extern NSString *SKPasteboardTypeTransition;
-// further values are defined at runtime by SKTransitionController
+// further values are defined at runtime
typedef NS_ENUM(NSUInteger, SKTransitionStyle) {
SKNoTransition
};
@@ -64,6 +64,12 @@
@property (nonatomic, nullable, readonly) NSString *label;
@property (nonatomic, readonly) NSString *title;
+@property (class, nonatomic, readonly) NSArray<NSString *> *transitionNames;
+
++ (NSString *)nameForStyle:(SKTransitionStyle)style;
++ (SKTransitionStyle)styleForName:(NSString *)name;
++ (NSString *)localizedNameForStyle:(SKTransitionStyle)style;
+
@end
#pragma mark -
Modified: trunk/SKTransitionInfo.m
===================================================================
--- trunk/SKTransitionInfo.m 2024-10-02 09:30:50 UTC (rev 14503)
+++ trunk/SKTransitionInfo.m 2024-10-02 09:42:36 UTC (rev 14504)
@@ -39,11 +39,14 @@
#import "SKTransitionInfo.h"
#import "SKThumbnail.h"
#import "SKTransitionController.h"
+#import <Quartz/Quartz.h>
#define SKStyleNameKey @"styleName"
#define SKDurationKey @"duration"
#define SKShouldRestrictKey @"shouldRestrict"
+#define TRANSITIONS_PLUGIN @"SkimTransitions.plugin"
+
NSString *SKPasteboardTypeTransition =
@"net.sourceforge.skim-app.pasteboard.transition";
@implementation SKTransitionInfo
@@ -51,6 +54,81 @@
@synthesize transitionStyle, duration, shouldRestrict;
@dynamic properties, label, title;
+static NSDictionary *oldStyleNames = nil;
+
++ (void)initialize {
+ SKINITIALIZE;
+ oldStyleNames = [[NSDictionary alloc] initWithObjectsAndKeys:
+ @"CoreGraphics SKTransitionFade", @"CIDissolveTransition",
+ @"CoreGraphics SKTransitionZoom", @"SKTZoomTransition",
+ @"CoreGraphics SKTransitionReveal",
@"SKTRevealTransition",
+ @"CoreGraphics SKTransitionSlide", @"SKTSlideTransition",
+ @"CoreGraphics SKTransitionWarpFade",
@"SKTWarpFadeTransition",
+ @"CoreGraphics SKTransitionSwap", @"SKTSwapTransition",
+ @"CoreGraphics SKTransitionCube", @"SKTCubeTransition",
+ @"CoreGraphics SKTransitionWarpSwitch",
@"SKTWarpSwitchTransition",
+ @"CoreGraphics SKTransitionWarpFlip",
@"SKTFlipTransition",
+ @"SKPTAccelerationTransitionFilter",
@"SKTAccelerationTransition",
+ @"SKPTBlindsTransitionFilter", @"SKTBlindsTransition",
+ @"SKPTBlurTransitionFilter", @"SKTBlurTransition",
+ @"SKPTBoxInTransitionFilter", @"SKTBoxInTransition",
+ @"SKPTBoxOutTransitionFilter", @"SKTBoxOutTransition",
+ @"SKPTCoverTransitionFilter", @"SKTCoverTransition",
+ @"SKPTHoleTransitionFilter", @"SKTHoleTransition",
+ @"SKPTMeltdownTransitionFilter", @"SKTMeltdownTransition",
+ @"SKPTPinchTransitionFilter", @"SKTPinchTransition",
+ @"SKPTRadarTransitionFilter", @"SKTRadarTransition",
+ @"SKPTSinkTransitionFilter", @"SKTSinkTransition",
+ @"SKPTSplitInTransitionFilter", @"SKTSplitInTransition",
+ @"SKPTSplitOutTransitionFilter", @"SKSplitOutTransition",
+ @"SKPTStripsTransitionFilter", @"SKTStripsTransition",
+ @"SKPTUncoverTransitionFilter", @"SKTRevealTransition",
+ nil];
+}
+
++ (NSArray *)transitionNames {
+ static NSArray *transitionNames = nil;
+
+ if (transitionNames == nil) {
+ NSMutableArray *names = [NSMutableArray arrayWithObjects:
+ @"", nil];
+ // get our transitions
+ NSURL *transitionsURL = [[[NSBundle mainBundle] builtInPlugInsURL]
URLByAppendingPathComponent:TRANSITIONS_PLUGIN isDirectory:YES];
+ [CIPlugIn loadPlugIn:transitionsURL allowExecutableCode:YES];
+ // get all the transition filters
+ [CIPlugIn loadAllPlugIns];
+ [names addObjectsFromArray:[CIFilter
filterNamesInCategory:kCICategoryTransition]];
+ transitionNames = [names copy];
+ }
+
+ return transitionNames;
+}
+
++ (NSString *)nameForStyle:(SKTransitionStyle)style {
+ if (style > SKNoTransition && style < [[self transitionNames] count])
+ return [[self transitionNames] objectAtIndex:style];
+ else
+ return nil;
+}
+
++ (SKTransitionStyle)styleForName:(NSString *)name {
+ NSUInteger idx = [[self transitionNames] indexOfObject:name];
+ if (idx == NSNotFound) {
+ NSString *altName = [oldStyleNames objectForKey:name];
+ if (altName)
+ idx = [[self transitionNames] indexOfObject:altName];
+ }
+ return idx == NSNotFound ? SKNoTransition : idx;
+}
+
++ (NSString *)localizedNameForStyle:(SKTransitionStyle)style {
+ if (style == SKNoTransition)
+ return NSLocalizedString(@"No Transition", @"Transition name");
+ else
+ return [CIFilter localizedNameForFilterName:[self nameForStyle:style]];
+ return @"";
+}
+
- (instancetype)init {
self = [super init];
if (self) {
@@ -101,7 +179,7 @@
}
- (NSDictionary *)properties {
- return @{SKStyleNameKey:([SKTransitionController
nameForStyle:transitionStyle] ?: @""),
+ return @{SKStyleNameKey:([SKTransitionInfo nameForStyle:transitionStyle]
?: @""),
SKDurationKey:[NSNumber numberWithDouble:duration],
SKShouldRestrictKey:[NSNumber numberWithBool:shouldRestrict]};
}
@@ -109,7 +187,7 @@
- (void)setProperties:(NSDictionary *)dictionary {
id value;
if ((value = [dictionary objectForKey:SKStyleNameKey]))
- [self setTransitionStyle:[SKTransitionController styleForName:value]];
+ [self setTransitionStyle:[SKTransitionInfo styleForName:value]];
if ((value = [dictionary objectForKey:SKDurationKey]))
[self setDuration:[value doubleValue]];
if ((value = [dictionary objectForKey:SKShouldRestrictKey]))
@@ -149,7 +227,7 @@
}
- (NSString *)transitionName {
- return [SKTransitionController localizedNameForStyle:[self
transitionStyle]];
+ return [SKTransitionInfo localizedNameForStyle:[self transitionStyle]];
}
@end
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