Revision: 3828
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3828&view=rev
Author:   hofman
Date:     2008-04-28 17:08:53 -0700 (Mon, 28 Apr 2008)

Log Message:
-----------
Transition angle depends on page direction.

Modified Paths:
--------------
    trunk/SKTransitionController.m

Modified: trunk/SKTransitionController.m
===================================================================
--- trunk/SKTransitionController.m      2008-04-28 22:53:33 UTC (rev 3827)
+++ trunk/SKTransitionController.m      2008-04-29 00:08:53 UTC (rev 3828)
@@ -190,7 +190,7 @@
     return [translationFilter valueForKey:@"outputImage"];
 }
 
-- (CIFilter *)transitionFilterForRect:(NSRect)rect initialCIImage:(CIImage 
*)initialCIImage finalCIImage:(CIImage *)finalCIImage {
+- (CIFilter *)transitionFilterForRect:(NSRect)rect forward:(BOOL)forward 
initialCIImage:(CIImage *)initialCIImage finalCIImage:(CIImage *)finalCIImage {
     NSString *filterName = [[[self class] transitionFilterNames] 
objectAtIndex:transitionStyle - SKCoreImageTransition];
     CIFilter *transitionFilter = [self filterWithName:filterName];
     
@@ -203,8 +203,11 @@
         if([key isEqualToString:@"inputExtent"]) {
             NSRect extent = shouldRestrict ? rect : bounds;
             [transitionFilter setValue:[CIVector vectorWithX:NSMinX(extent) 
Y:NSMinY(extent) Z:NSWidth(extent) W:NSHeight(extent)] forKey:key];
-        } else if([key isEqualToString:@"inputAngle"] && [filterName 
isEqualToString:@"CIPageCurlTransition"]) {
-            [transitionFilter setValue:[NSNumber numberWithFloat:-M_PI_4] 
forKey:@"inputAngle"];
+        } else if([key isEqualToString:@"inputAngle"]) {
+            float angle = forward ? 0.0 : M_PI;
+            if ([filterName isEqualToString:@"CIPageCurlTransition"])
+                angle = forward ? -M_PI_4 : -3.0 * M_PI_4;
+            [transitionFilter setValue:[NSNumber numberWithFloat:angle] 
forKey:@"inputAngle"];
         } else if([key isEqualToString:@"inputCenter"]) {
             [transitionFilter setValue:[CIVector vectorWithX:NSMidX(rect) 
Y:NSMidY(rect)] forKey:key];
         } else {
@@ -369,7 +372,7 @@
         
         CIImage *finalImage = [self createCurrentImage];
         
-        CIFilter *transitionFilter = [self transitionFilterForRect:imageRect 
initialCIImage:initialImage finalCIImage:finalImage];
+        CIFilter *transitionFilter = [self transitionFilterForRect:imageRect 
forward:forward initialCIImage:initialImage finalCIImage:finalImage];
         
         [finalImage release];
         [initialImage release];


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to