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

Reply via email to